diff --git a/cloned-websites/mintel_me/_external/fonts.googleapis.com/css b/cloned-websites/mintel_me/_external/fonts.googleapis.com/css new file mode 100644 index 0000000..2ef89fc --- /dev/null +++ b/cloned-websites/mintel_me/_external/fonts.googleapis.com/css @@ -0,0 +1,216 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Gloock'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJhRakJLRBjIlJ.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* latin-ext */ +@font-face { + font-family: 'Gloock'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJhhakJLRBjIlJ.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Gloock'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJiBakJLRBjA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXk-oAGIyY0Wfw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXA-oAGIyY0Wfw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXc-oAGIyY0Wfw.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXs-oAGIyY0Wfw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXo-oAGIyY0Wfw.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oAGIyY0.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Spectral'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M0knjsS_ulYHs.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Spectral'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M9knjsS_ulYHs.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'Spectral'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M2knjsS_ulYHs.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Spectral'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M3knjsS_ulYHs.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Spectral'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M5knjsS_ul.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJhRakJLRBjIlJ.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJhRakJLRBjIlJ.woff2 new file mode 100644 index 0000000..d12f559 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJhRakJLRBjIlJ.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJhhakJLRBjIlJ.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJhhakJLRBjIlJ.woff2 new file mode 100644 index 0000000..5c8b582 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJhhakJLRBjIlJ.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJiBakJLRBjA.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJiBakJLRBjA.woff2 new file mode 100644 index 0000000..f479c15 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/gloock/v8/Iurb6YFw84WUY4NJiBakJLRBjA.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2 new file mode 100644 index 0000000..2723f45 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2 new file mode 100644 index 0000000..ef81ec3 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2 new file mode 100644 index 0000000..f2a98ba Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2 new file mode 100644 index 0000000..441a4cf Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2 new file mode 100644 index 0000000..61220a0 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2 new file mode 100644 index 0000000..70fcf35 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2 new file mode 100644 index 0000000..1829832 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.woff2 new file mode 100644 index 0000000..da44698 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2 new file mode 100644 index 0000000..71de11b Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2 new file mode 100644 index 0000000..f85ddb9 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2 new file mode 100644 index 0000000..72fbd1d Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2 new file mode 100644 index 0000000..0f19a3a Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2 new file mode 100644 index 0000000..1e0b6a0 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2 new file mode 100644 index 0000000..605943f Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2 new file mode 100644 index 0000000..fe8158e Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXA-oAGIyY0Wfw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXA-oAGIyY0Wfw.woff2 new file mode 100644 index 0000000..3af745e Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXA-oAGIyY0Wfw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oAGIyY0.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oAGIyY0.woff2 new file mode 100644 index 0000000..f6bc93b Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oAGIyY0.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXc-oAGIyY0Wfw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXc-oAGIyY0Wfw.woff2 new file mode 100644 index 0000000..1e02a4b Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXc-oAGIyY0Wfw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXk-oAGIyY0Wfw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXk-oAGIyY0Wfw.woff2 new file mode 100644 index 0000000..6c75d21 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXk-oAGIyY0Wfw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXo-oAGIyY0Wfw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXo-oAGIyY0Wfw.woff2 new file mode 100644 index 0000000..661ca1c Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXo-oAGIyY0Wfw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXs-oAGIyY0Wfw.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXs-oAGIyY0Wfw.woff2 new file mode 100644 index 0000000..ce92e73 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/sourceserifpro/v18/neIQzD-0qpwxpaWvjeD0X88SAOeauXs-oAGIyY0Wfw.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M0knjsS_ulYHs.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M0knjsS_ulYHs.woff2 new file mode 100644 index 0000000..bca476a Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M0knjsS_ulYHs.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M2knjsS_ulYHs.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M2knjsS_ulYHs.woff2 new file mode 100644 index 0000000..58c173b Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M2knjsS_ulYHs.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M3knjsS_ulYHs.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M3knjsS_ulYHs.woff2 new file mode 100644 index 0000000..be6ec56 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M3knjsS_ulYHs.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M5knjsS_ul.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M5knjsS_ul.woff2 new file mode 100644 index 0000000..d4ce9e9 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M5knjsS_ul.woff2 differ diff --git a/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M9knjsS_ulYHs.woff2 b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M9knjsS_ulYHs.woff2 new file mode 100644 index 0000000..e53c9f7 Binary files /dev/null and b/cloned-websites/mintel_me/_external/fonts.gstatic.com/s/spectral/v15/rnCr-xNNww_2s0amA9M9knjsS_ulYHs.woff2 differ diff --git a/cloned-websites/mintel_me/_external/s3.envato.com/files/534831061/Speed_20Ramp_20Pro.png b/cloned-websites/mintel_me/_external/s3.envato.com/files/534831061/Speed_20Ramp_20Pro.png new file mode 100644 index 0000000..ad04dde Binary files /dev/null and b/cloned-websites/mintel_me/_external/s3.envato.com/files/534831061/Speed_20Ramp_20Pro.png differ diff --git a/cloned-websites/mintel_me/_external/www.raycast.com/opengraph-image-pwu6ef.png b/cloned-websites/mintel_me/_external/www.raycast.com/opengraph-image-pwu6ef.png new file mode 100644 index 0000000..aa8dd4e Binary files /dev/null and b/cloned-websites/mintel_me/_external/www.raycast.com/opengraph-image-pwu6ef.png differ diff --git a/cloned-websites/mintel_me/author/5fc2b097d603989b/index.html b/cloned-websites/mintel_me/author/5fc2b097d603989b/index.html new file mode 100644 index 0000000..894c8fd --- /dev/null +++ b/cloned-websites/mintel_me/author/5fc2b097d603989b/index.html @@ -0,0 +1,957 @@ + + + Marc - Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+

Marc

+

+
+
+ + +
+ +
+ +
+ + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/author/5fc2b097d603989b/page/2/index.html b/cloned-websites/mintel_me/author/5fc2b097d603989b/page/2/index.html new file mode 100644 index 0000000..856108d --- /dev/null +++ b/cloned-websites/mintel_me/author/5fc2b097d603989b/page/2/index.html @@ -0,0 +1,716 @@ + + + Marc - Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+

Marc

+

+
+
+ + + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/bio/index.html b/cloned-websites/mintel_me/bio/index.html new file mode 100644 index 0000000..d580a4d --- /dev/null +++ b/cloned-websites/mintel_me/bio/index.html @@ -0,0 +1,1204 @@ + + + Marc Mintel: Creative 3D Artist and Digital Solutions Expert + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+

Hello! I’m Marc

+

For the past four+ years, I’ve embraced the life of a digital nomad, traveling the world while delivering top-notch 3D visualization services to businesses globally. This unique lifestyle has not only broadened my creative horizons but also enabled me to collaborate with a diverse range of clients, understanding their unique needs and cultures.

+

My passion lies in transforming your products into realistic, precise, and captivating 3D visuals that elevate your online presence. Whether you’re a small business with a single product or an online shop with a curated selection of quality items, I’m here to help your products shine.

+
+
+ + + + +
+
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+

My Story

+
+
+ + + + +
+
+

After 15+ years in coding, including many years in web agencies, I shifted gears to combine my love for 3D art with building fast, sleek websites. Now, I bring both worlds together—creating detailed 3D visuals and designing snappy JAMstack sites and SPAs. I’ve worked with companies of all sizes on projects ranging from immersive product visualizations to streamlined web experiences.

+

Based in the lovely Vulkaneifel near Cologne, Germany, I’m here to help you bring your ideas to life. Have a look around, and let’s team up to make some digital magic—no biggie, just cool stuff.

+

For me, it’s all about learning, experimenting, and having fun. So, whether we create something unforgettable or just share a laugh trying, let’s make it worth it!

+
+
+ + + + +
+
+
+ +
+
+
+ +
+
+

My journey is all about learning new things and having fun. Let’s team up and create something amazing, or at least have a laugh trying!

+
+
+ + + + +
+
+

Where I’ve Worked

+
+
+ + + +
2024 - Now

Founder at Cable Creations

2021 - 2023

Senior Software Developer at sdox

2020 - 2021

Senior Software Developer at Trusted Shops

2018 - 2020

Senior Frontend Developer at i22

2017 - 2018

Software Developer at Sevenval (Avenga)

2016 - 2017

Frontend Developer at i22

2014-2016

Marketing & Sales at gct GmbH

2011 - 2014

Web & Interface Designer at webfactory

+
+
+
+
+
+
+
+
+

Software

+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+
+ + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/blog/index.html b/cloned-websites/mintel_me/blog/index.html new file mode 100644 index 0000000..318560b --- /dev/null +++ b/cloned-websites/mintel_me/blog/index.html @@ -0,0 +1,699 @@ + + + Blog - Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+

Thoughts & Stuff

+

This is where I share things I’m working on, tech I’m experimenting with, and thoughts on the tools and workflows I use. It’s not a tutorial site, and I’m not here to tell you how to live your life — just documenting my process, insights, and occasional frustrations with all things tech and design.

+
+
+ + + + +
+
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/coding-with-ai-agents-why-using-cline-with-claude-3-5-sonnet-will-drain-your-wallet/index.html b/cloned-websites/mintel_me/coding-with-ai-agents-why-using-cline-with-claude-3-5-sonnet-will-drain-your-wallet/index.html new file mode 100644 index 0000000..b976edd --- /dev/null +++ b/cloned-websites/mintel_me/coding-with-ai-agents-why-using-cline-with-claude-3-5-sonnet-will-drain-your-wallet/index.html @@ -0,0 +1,922 @@ + + + Why I Fully Ditched Default Exports in TypeScript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

Coding with AI agents: why using Cline with Claude 3.5 Sonnet will drain your wallet

+

Let’s talk about AI agents for coding. Specifically, let’s talk about Cline, paired with Claude 3.5 Sonnet. Sounds fancy, right? It should be, given the price tag that comes with it. So why exactly is it so damn expensive? Let’s break it down.

+

The cost of Claude 3.5 Sonnet itself 💸

+

First things first: Claude 3.5 isn’t cheap. AI language models like Claude 3.5 are built to handle massive workloads, process tons of text, and provide human-like responses. But all that processing power comes with a hefty bill.

+

Here’s the basic math:

+
// Example token usage
+const prompt = "Debug this function: function add(a, b) { return a + b; }";
+const response = ai.process(prompt);
+console.log(`Tokens used: ${prompt.length + response.length}`);
+
+

You pay per token. Tokens are chunks of text that the AI processes — a token could be a word, a punctuation mark, or even just a space. Most AI APIs use a pay-as-you-go model. You pay for both input tokens (what you send to the AI) and output tokens (what the AI sends back). Usage adds up fast, especially when you’re coding large snippets and asking for detailed explanations.

+

Why AI agents like Cline burn through tokens

+

Cline doesn’t just send one query and call it a day. It acts like your AI coding buddy, constantly asking the model for updates, clarifications, and context switches. This makes it more effective, sure — but also more expensive.

+
# Example of continuous prompts
+while debugging:
+    cline.send("What’s wrong with this code?")
+    cline.receive()
+
+

Think about it: each back-and-forth interaction costs tokens. AI agents like Cline keep a detailed memory of your entire session. More memory means more tokens. Every time you ask Cline to improve code, add comments, or optimize a function, it sends another query.

+

How token usage translates into money

+

To really understand why this is expensive, you need to know how AI usage is billed:

+
    +
  • Input tokens: When you ask the AI something, the entire prompt is counted as input tokens. This includes your instructions, any code snippets you provide, and any additional context the AI needs to understand your request.
  • +
  • Output tokens: When the AI responds, every word, punctuation mark, and space counts as output tokens. So a long-winded response from the AI costs more than a short, direct answer.
  • +
+

Example interaction:

+
const prompt = "Please debug the following code...";
+const response = cline.sendToAI(prompt);
+console.log(`Cost: ${(prompt.length + response.length) * 0.0001} USD`);
+
+

Multiply that by the dozens (or hundreds) of interactions you might have in a single coding session. It’s easy to see how you can burn through tens of thousands of tokens in a day.

+

Hidden costs: paying for AI’s indecision

+

Ever noticed how AI agents sometimes give you a solution and then a second later change their minds?

+

“Here’s the optimal code.”

+

…Actually, wait, here’s a better version.

+

This indecision isn’t free. Every tweak, suggestion, or improvement costs tokens. It’s like hiring a consultant who bills you by the minute while they brainstorm in front of you.

+

Additionally, AI models tend to err on the side of verbosity. They like to explain their reasoning in detail, provide alternatives, and cover edge cases. While this is helpful, it also means you’re paying for a lot of unnecessary information.

+

Token inflation: long responses are pricey

+

Let’s face it: AI models love to talk. When you ask for a code snippet, they don’t just give you the code. They explain it. In detail. Then they add comments. And maybe a little disclaimer about best practices.

+
function example() {
+    console.log("Here’s a complete solution with five alternative methods, detailed comments, and an explanation of time complexity.");
+}
+
+

Guess what? You’re paying for every single word.

+

Why Cline needs more tokens than other AI tools

+

Cline operates as a coding companion. It’s not a one-and-done solution; it’s meant to guide you through the entire coding process.

+

Here’s why it burns through more tokens than a simple AI chatbot:

+
    +
  • Step-by-step guidance: Cline doesn’t just give you a final answer. It helps you troubleshoot, debug, and improve your code in real time.
  • +
  • Session persistence: The longer your coding session, the more context the AI needs to retain. That context must be included in every prompt to ensure accurate responses.
  • +
  • Iterative process: Coding often involves multiple iterations. Each iteration requires new prompts and responses, leading to exponential token usage.
  • +
+

The alternative: paying with your time

+

Sure, you could argue that AI agents save time. But there’s a point where the costs outweigh the benefits. If you’re spending thousands of dollars a month for an AI to optimize your code, you have to ask yourself:

+

Would it be cheaper to just figure it out yourself?

+

The answer might surprise you. Coding without AI takes more time, but in some cases, it’s way more cost-effective.

+

+“The most expensive code is the code you don’t understand. Relying too much on AI can quickly become a financial black hole.” +

+

Practical tips to reduce AI costs

+

If you’re committed to using Cline with Claude 3.5, here are a few ways to keep costs under control:

+
    +
  • Limit context size: Avoid including your entire project in every prompt. Trim down the context to what’s strictly necessary.
  • +
  • Use specific queries: Be concise with your prompts. The more specific you are, the shorter the AI’s response will be.
  • +
  • Avoid verbosity: If the AI starts over-explaining, cut it off. Politely ask for more concise responses.
  • +
  • Batch tasks: Instead of asking for small changes one at a time, group similar tasks together in a single query.
  • +
+

Conclusion: Is Cline with Claude 3.5 worth it?

+

If you’ve got deep pockets or a corporate budget to burn, go for it. Cline with Claude 3.5 Sonnet can be a powerful tool for productivity. But if you’re a solo dev or a small startup? Think twice before committing.

+

Unless you’re ready to sell a kidney to pay for those tokens, maybe stick to coding the old-fashioned way — with some coffee and a bit of swearing.

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/development/index.html b/cloned-websites/mintel_me/development/index.html new file mode 100644 index 0000000..a10710d --- /dev/null +++ b/cloned-websites/mintel_me/development/index.html @@ -0,0 +1,927 @@ + + + Development – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+

Development9

+
+
+
+ + +
+ +
+ +
+ + + + + + + + +
+
+ + + +
+
+
+ + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/how-to-use-tdd-with-ai-to-save-money/index.html b/cloned-websites/mintel_me/how-to-use-tdd-with-ai-to-save-money/index.html new file mode 100644 index 0000000..0d63e35 --- /dev/null +++ b/cloned-websites/mintel_me/how-to-use-tdd-with-ai-to-save-money/index.html @@ -0,0 +1,967 @@ + + + Why I Fully Ditched Default Exports in TypeScript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

How to use TDD with AI to save money

+

Test-Driven Development (TDD) is already a proven method to improve code quality and maintainability. But what if you could also use TDD to reduce your AI usage costs? Spoiler: You can. By leveraging unit tests and integration tests, you can teach the AI more efficiently and reduce the number of prompts it requires.

+

Here’s how.

+

Why TDD saves money when using AI

+

When you work with AI agents like Cline or Claude 3.5, you’re charged for every token you send and receive. Each prompt costs money, and every response from the AI eats into your budget. However, when you incorporate TDD, you provide the AI with a clear framework to follow. Instead of explaining every tiny detail, you let your tests do the talking.

+

AI can read your tests

+

One of the coolest things about AI is that it can read and understand your codebase, including your tests. By writing comprehensive unit and integration tests, you give the AI a way to infer what your code should do without needing you to explain it repeatedly.

+

Example:

+
// Unit test
+describe('add', () => {
+    it('should return the sum of two numbers', () => {
+        expect(add(1, 2)).toBe(3);
+    });
+});
+
+

Instead of saying, “Make sure the add function returns the sum of two numbers”, you simply ask the AI to ensure the function passes all tests. This drastically reduces your input tokens.

+

Sample prompt to AI:

+
"Fix the add function so that it passes all the unit tests."
+
+

Sample output from the AI:

+
function add(a, b) {
+    return a + b;
+}
+
+

The AI understands the requirements from the test and provides a correct implementation without needing a long explanation.

+

Unit tests: your cost-saving friend

+

Unit tests cover individual functions or components. They are small, fast, and easy to write. Here’s why they’re critical for saving money:

+
    +
  • AI can use them as a reference: If the AI knows that your function must pass a set of tests, it will optimize the code accordingly.
  • +
  • Less back-and-forth: Instead of repeatedly correcting the AI’s output, you can point it to the tests and say, “Make it pass these”.
  • +
+

Example prompt:

+
"Fix the add function to pass all tests."
+
+

This is much cheaper than explaining each requirement separately.

+

Example scenario

+

Let’s say you have a buggy function:

+
function add(a, b) {
+    return a - b;
+}
+
+

Without tests, you’d need to tell the AI what’s wrong. With tests, you just say:

+

+“Make it pass the existing unit tests.” +

+

Sample output from the AI:

+
function add(a, b) {
+    return a + b;
+}
+
+

Integration tests: handling complex scenarios

+

Integration tests ensure that different parts of your application work together as expected. These tests cover more complex use cases and are particularly useful when working with APIs or databases.

+

For example:

+
// Integration test
+describe('User Service', () => {
+    it('should create a new user and fetch it from the database', async () => {
+        const user = await userService.createUser({ name: 'Alice' });
+        const fetchedUser = await userService.getUser(user.id);
+        expect(fetchedUser.name).toBe('Alice');
+    });
+});
+
+

Sample prompt to AI:

+
"Ensure the userService passes all integration tests."
+
+

Sample output from the AI:

+
async function createUser(userData) {
+    const newUser = await database.insert(userData);
+    return newUser;
+}
+
+async function getUser(userId) {
+    const user = await database.findById(userId);
+    return user;
+}
+
+

With a test like this in place, you don’t need to describe the entire flow to the AI. The AI reads the test and fixes the implementation accordingly.

+

AI-driven development with tests

+

Here’s how you can integrate TDD into your AI workflow:

+
    +
  1. Write tests first: Start by writing unit and integration tests for the functionality you need.
  2. +
  3. Ask the AI to implement the code: Instead of lengthy prompts, simply instruct the AI to make the code pass all the tests.
  4. +
  5. Refactor using tests: When you want to optimize or refactor code, let the AI know that the code must continue to pass the existing tests.
  6. +
+

Saving money with smarter AI usage

+

By using tests as a guide for the AI, you reduce the need for detailed prompts and back-and-forth interactions. This leads to:

+
    +
  • Fewer tokens consumed: Shorter, more concise prompts mean fewer input tokens.
  • +
  • Less verbose responses: The AI doesn’t need to over-explain when it has clear tests to reference.
  • +
  • Higher accuracy: The AI delivers better results because it has a concrete set of rules to follow.
  • +
+

Real-world example: debugging with TDD

+

Imagine you have a buggy piece of code that calculates discounts:

+
function calculateDiscount(price, discount) {
+    return price * discount;
+}
+
+

Your unit test looks like this:

+
describe('calculateDiscount', () => {
+    it('should return the correct discounted price', () => {
+        expect(calculateDiscount(100, 0.2)).toBe(80);
+    });
+});
+
+

Sample prompt to AI:

+
"Fix calculateDiscount so it passes the tests."
+
+

Sample output from the AI:

+
function calculateDiscount(price, discount) {
+    return price - (price * discount);
+}
+
+

Conclusion

+

Using TDD with AI isn’t just good for your codebase — it’s good for your wallet. By writing comprehensive unit and integration tests, you can reduce your AI usage costs, streamline your workflow, and get better results with fewer prompts.

+

In the end, letting your tests do the talking is a smarter, more efficient way to collaborate with AI. And let’s be honest — who doesn’t want to save money while coding?

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/i-created-a-whole-macos-app-with-flutter-just-using-ai-here-is-my-report/index.html b/cloned-websites/mintel_me/i-created-a-whole-macos-app-with-flutter-just-using-ai-here-is-my-report/index.html new file mode 100644 index 0000000..64145e1 --- /dev/null +++ b/cloned-websites/mintel_me/i-created-a-whole-macos-app-with-flutter-just-using-ai-here-is-my-report/index.html @@ -0,0 +1,1036 @@ + + + AI-Created MacOS App Revolutionizes 3D Rendering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

Building My First MacOS App: 100% AI-Created Render Manager

+

For the first time ever, I ventured into creating an app for MacOS, and the craziest part? It was entirely built by AI. I didn’t write a single line of code myself. Of course, my background in software development was invaluable in guiding the process, but it’s absolutely insane what’s possible with AI today.

+
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

Why a Render Manager?

+

Rendering complex 3D scenes in Blender is a demanding process, and existing render managers often lack the specific features or flexibility needed for personal workflows. As a Blender user on MacOS, I struggled to find a solution that integrated seamlessly with my tools, offered customizability, and streamlined rendering tasks. This app was born out of necessity, and its development highlights both the capabilities and limitations of AI-assisted programming.

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

About the App

+

The app is a render manager specifically made for MacOS. Why? Because I couldn’t find an existing solution that met my needs. Here’s what it does so far:

+

– 📦 Drag and Drop: Easily add Blender files to the render queue.
+– 🔐 Blender Addon: Integrates directly with Blender’s render menu for seamless file addition.
+– 🔅 Configurable Settings: Full control over render configurations.
+– ⏹ Mid-Process Stop: Ability to halt rendering at any point.
+– 🔧 Custom Output Paths: Define output paths and naming patterns.
+– 🔄 Auto Retry: Retries failed renders automatically with customizable attempts.
+– 🚀 TurboRender Support: Compatibility with advanced features like Temporal Denoising.
+– 📱 Telegram Integration: Remote monitoring and control via Telegram.
+– ⚙️ Command-Line Parameters: Support for custom Blender CLI commands.
+– 🏠 Factory Settings: A troubleshooting mode for resetting configurations.
+– 🎯 Scene Selection: Select scenes and cameras per project.
+– 📁 Organized Outputs: Flexible file organization using pattern variables.
+– 🔍 Real-Time Monitoring: Track render progress live.
+– 📊 Detailed Logs: Comprehensive render logs and error reporting.
+– 🎮 Frame Control: Define start, end, and step values for frame ranges.
+– 🎨 Multi-Scene Support: Manage individual settings for multiple scenes.
+– 🔄 Automatic Data Fetching: Seamlessly retrieves scene data.
+– 📸 Camera Selection: Choose cameras for specific scenes.

+
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

Building with AI: Insights and Tips

+

Patience Is Key

+

Working with AI requires a lot of patience. It’s also not cheap—each request incurs a cost, and the AI often makes errors. Without version control like Git, the process would be chaotic. Sometimes, the AI replaces sections of code with placeholder comments, so reverting changes is critical. Using Git or similar tools is non-negotiable when relying heavily on AI-generated code.

+

Splitting Tasks

+

When working with AI, break down your tasks into small, manageable chunks. This minimizes misunderstandings and helps the AI focus on specific objectives. Restarting chats frequently to maintain instruction clarity also helps.

+

Debug Logs Are Crucial

+

It’s essential to let AI create as many debug logs as possible. You’ll often find yourself copying logs into the AI to provide context for what went wrong. This iterative debugging process is vital for resolving issues efficiently.

+
+
+ + + + +
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

Where AI Excels

+

– Refactoring: AI handles refactoring impressively well, turning messy code into clean, maintainable structures.
+– File Splitting: Breaking down large files into smaller ones is essential for managing AI costs and reducing errors.
+– Prototyping: Quickly generating boilerplate code or testing ideas is where AI shines.

+

Challenges

+

– Instruction Fatigue: The longer a chat continues, the more the AI seems to ignore custom instructions. Restarting the chat frequently and focusing on small, manageable tasks helps.
+– Test-Driven Development (TDD): TDD didn’t work as smoothly as expected. However, when this improves, coding with AI will likely reach a whole new level, enabling faster iteration with automated unit tests and quick fixes.

+

Cost Management

+

AI tools incur costs for every request. To keep expenses under control:
+1. Plan Ahead: Draft clear, concise instructions before interacting with the AI.
+2. Optimize Code: Use modular design to reduce the complexity of individual AI tasks.
+3. Test Locally: Minimize back-and-forth iterations by testing generated code locally.

+

Moving Forward

+

If you’re a Blender user on MacOS, this app might be interesting for you. Since it’s built with Flutter, I plan to port it to Windows and Linux soon. Expanding the app’s reach will involve addressing cross-platform nuances and optimizing performance.

+

Tools and Setup

+

I utilized VS Code alongside Cline and Claude for this project. These tools provided a collaborative environment for AI-assisted coding, although their performance varied. Integrating a robust IDE setup and automation tools can significantly streamline AI development workflows.

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/i-created-my-first-native-app-and-now-i-know-what-i-hate-about-web-development/index.html b/cloned-websites/mintel_me/i-created-my-first-native-app-and-now-i-know-what-i-hate-about-web-development/index.html new file mode 100644 index 0000000..bde19d9 --- /dev/null +++ b/cloned-websites/mintel_me/i-created-my-first-native-app-and-now-i-know-what-i-hate-about-web-development/index.html @@ -0,0 +1,900 @@ + + + Why I Fully Ditched Default Exports in TypeScript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

I created my first native app and now I know what I hate about web development

+

So, I finally did it. After years of wrangling with web development—the land of never-ending “next sprints” and “feature enhancements”—I created my first native app. And guess what? It’s like stepping out of a chaotic family dinner into a zen garden. Don’t get me wrong, I’ll always have a complicated love-hate relationship with web dev (it’s like that one ex who keeps texting you), but native app development? That’s a whole different story.

+

Why web development feels like a treadmill

+

Web dev is a never-ending loop. You launch something, and before you can celebrate, there’s a new feature request, an unexpected bug report, or a browser update that breaks everything (hi, Safari).

+

Here’s my favorite kind of chaos:

+
// Start with something simple
+function fetchData() {
+  return fetch('/api/data')
+    .then(response => response.json())
+    .then(data => console.log(data));
+}
+
+// A week later... "Add caching, please."
+function fetchDataWithCache() {
+  if (localStorage.getItem('data')) {
+    return Promise.resolve(JSON.parse(localStorage.getItem('data')));
+  }
+
+  return fetch('/api/data')
+    .then(response => response.json())
+    .then(data => {
+      localStorage.setItem('data', JSON.stringify(data));
+      return data;
+    });
+}
+
+// Two weeks later... "What if the user is offline?"
+

It’s exhausting. There’s no finish line—just more work. Every bug you fix or feature you add feels like slapping duct tape on a moving train. No matter how much you polish, there’s always something new to break.

+

Why native apps feel different

+

When I started building my native app, I wasn’t sure what to expect. Would it be another endless project? Nope. It actually felt… complete. Like putting together a puzzle and placing the final piece.

+

Here’s the kind of simplicity I’m talking about:

+
// A straightforward Swift function
+func calculateSum(_ numbers: [Int]) -> Int {
+    return numbers.reduce(0, +)
+}
+
+let result = calculateSum([1, 2, 3, 4, 5])
+print(result) // Output: 15
+

No “what if” scenarios. No hacks for obscure devices. Just clean, functional code. When it worked, it worked. Done.

+

Okay, fine, debugging in Xcode made me want to throw my laptop across the room, but that’s just part of the charm, right?

+

It’s not all sunshine and rainbows

+

Don’t get me wrong, native apps have their quirks. Submitting to the App Store is like jumping through flaming hoops while juggling knives. And let’s not even talk about provisioning profiles. But these hurdles feel… purposeful. They’re one-time struggles, not the constant maintenance hamster wheel of web development.

+

The beauty of being “done”

+

When my app was finished, I actually got to sit back and enjoy the work. That’s the thing with native apps—you can reach a point where you call it “done.” Sure, there might be updates down the road, but it’s not the endless treadmill of tweaks, patches, and performance optimizations.

+

Web development? It’s like trying to keep a house clean while someone keeps throwing mud through the windows. Native development? It’s more like building a cabin in the woods. Once it’s done, you get to step back and admire your work (until the bears show up, aka OS updates).

+

So, what now?

+

Does this mean I’m ditching web development? Nah. It’s still part of what I do. But I’ll definitely think twice before signing up for another “small” web project that spirals into a three-year commitment.

+

For now, I’m just going to bask in the joy of having built something that I can call “finished.” Well, at least until I decide it needs dark mode…

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/i-was-wrong-about-test-driven-development-with-ai-and-cline-just-slapped-me-with-the-truth/index.html b/cloned-websites/mintel_me/i-was-wrong-about-test-driven-development-with-ai-and-cline-just-slapped-me-with-the-truth/index.html new file mode 100644 index 0000000..57ae145 --- /dev/null +++ b/cloned-websites/mintel_me/i-was-wrong-about-test-driven-development-with-ai-and-cline-just-slapped-me-with-the-truth/index.html @@ -0,0 +1,1023 @@ + + + How Cline Revolutionized My TDD Approach with AI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

So, let me come clean. I wrote a blog post a while back where I basically said that Test Driven Development (TDD) with AI isn’t that great. I was smug, I was sure of myself, and I was… very wrong. 🫠 But hey, growth is about admitting mistakes, right? And here I am, ready to eat my words (with some spicy Cheetos on the side) and tell you why I now think TDD is the only way to develop with AI.

+

And it all started with a new VSCode extension I stumbled upon called Cline.

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

Enter Cline: Your AI pair programmer (without the coffee addiction)

+

If you haven’t heard about Cline, it’s an AI agent that integrates directly into VSCode. Think of it as your slightly overconfident but genuinely helpful coding buddy. Cline doesn’t just spit out code suggestions; it actually understands your context, offers real-time feedback, and can run tests as you code.

+

Here’s the kicker: It’s like having a TDD coach sitting on your shoulder, whispering, “Are you sure that function works? Maybe write a test first, you chaotic human.”

+

And it turns out, that’s exactly what I needed. 😅

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

Why my initial take on TDD with AI sucked

+

In my previous post (which I won’t link because no one needs to see that trainwreck), I basically argued that using AI for TDD was overkill. I mean, why write tests first when the AI can just generate code for you, right? Let the machine do the heavy lifting!

+

Yeah, no.

+

The problem with that approach? AI gets confused. It doesn’t know what you really want unless you give it constant feedback. You have to describe every edge case, every possible input… and at that point, you might as well write the tests first.

+

Without tests, you’re in this endless loop of:

+
    +
  1. AI generates code.
  2. +
  3. You run the code.
  4. +
  5. It crashes.
  6. +
  7. You go back to step 1.
  8. +
+

Fun? Not really.

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

How Cline changed the game

+

The beauty of Cline is that it flips this process on its head. Instead of treating AI like some magical genie that grants your coding wishes, Cline encourages you to treat it like a responsible adult:

+
    +
  1. Write a test.
  2. +
  3. Watch as Cline writes the code to pass that test.
  4. +
  5. Instantly see if it works.
  6. +
  7. Refactor, rinse, repeat.
  8. +
+

No more vague instructions. No more confused AI. Just pure, unadulterated feedback loops.

+

And because Cline runs the tests immediately, the AI gets instant feedback. It learns faster. It adjusts quicker. It stops making the same dumb mistakes over and over (unlike me in my pre-coffee coding sessions). ☕

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

The emotional rollercoaster of coding with Cline

+

I’ll be honest: At first, I felt attacked.

+

Cline would pop up with suggestions like, “Your test failed. Want me to fix it?” and I’d think, “No, Cline, I want to wallow in my failure, thanks.” But over time, I realized that this instant feedback is exactly what I needed to break out of my bad habits.

+

Writing tests first felt weird at first, but watching Cline pass those tests in real-time? That was chef’s kiss satisfying. 😌

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

Why TDD and AI are a perfect match

+

Here’s the thing: AI doesn’t understand human emotions (yet). It doesn’t care if you’re having a bad day or if your brain is running on 2% battery. It just wants instructions. Clear, precise instructions.

+

And what’s the clearest way to give instructions? Tests.

+

When you write a test, you’re basically telling the AI: “Here’s what I expect. Make it happen.” And because the AI gets that feedback instantly, it’s way less likely to go off on some weird tangent.

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

How to get started with Cline

+

If you’re curious (and you should be), here’s how to try Cline for yourself:

+
    +
  1. Download the extension: Cline on the VSCode Marketplace
  2. +
  3. Set up your project: Make sure you have a test framework in place (Jest, Mocha, whatever floats your boat).
  4. +
  5. Write your first test: Start simple. Maybe something like: +
    test('adds two numbers', () => {
    +  expect(add(2, 3)).toBe(5);
    +});
    +
  6. +
  7. Watch Cline work its magic: Sit back and let the AI fill in the gaps.
  8. +
+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

Final thoughts (aka my apology to the TDD gods)

+

To anyone I misled with my previous anti-TDD rant: I’m sorry. I see the light now. 🙏

+

Test Driven Development with AI isn’t just a nice-to-have. It’s a game-changer. And tools like Cline make it easier than ever to adopt this approach.

+

So, go forth and embrace TDD. Let AI be your coding buddy, not your code generator. And if you ever feel like the AI is judging you… well, it probably is. 😈

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/index.html b/cloned-websites/mintel_me/index.html new file mode 100644 index 0000000..163de0b --- /dev/null +++ b/cloned-websites/mintel_me/index.html @@ -0,0 +1,756 @@ + + + Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+

Marc Mintel

+
+
+ + + + +
+
+
+ +
+
+
+ +
+
+
+ + +
+
+
+
+
+ + +
+
+
+ + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/my-learnings-moving-on-with-ai-driven-development/index.html b/cloned-websites/mintel_me/my-learnings-moving-on-with-ai-driven-development/index.html new file mode 100644 index 0000000..653b11b --- /dev/null +++ b/cloned-websites/mintel_me/my-learnings-moving-on-with-ai-driven-development/index.html @@ -0,0 +1,919 @@ + + + Maximize AI in Coding: Key Learnings for Developers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

My Learnings Moving On with AI-Driven Development

+

As a developer, I’ve always been keen to explore new tools that make the process more efficient and enjoyable. AI-driven development is one of those areas that have significantly reshaped how I approach coding. Here are my key learnings from working with AI tools like Cline and VS Code.

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

Concept Is King

+

One of the biggest lessons I’ve learned is that having a clear concept before starting any development task is crucial. Just like human developers, AI gets confused when there’s no well-defined direction. The difference? Every request to the AI costs money. Without a solid plan, you risk wasting both time and resources. AI tools excel when they have a framework to follow—so give them one.

+
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

AI Can Handle Complex Software Architecture Patterns

+

I’ve been pleasantly surprised by how well AI can deal with advanced software architecture patterns like Clean Architecture. This has been a blessing, especially when tackling larger projects. The AI’s ability to follow these patterns means I can focus on high-level decisions while it takes care of repetitive tasks.

+

Unit Tests: A Double-Edged Sword

+

AI-generated unit tests can be incredibly helpful. However, I’ve noticed that the AI tends to be overly restrictive at times. It’s akin to working with a human developer who insists on covering every edge case, sometimes at the expense of pragmatism. It’s important to strike a balance and intervene when the AI starts overdoing it.

+

Watch for Loops

+

One of the quirks of working with AI is its tendency to get stuck in loops. Whether it’s repeating suggestions or rephrasing the same code, it can become counterproductive. When this happens, it’s crucial to break the loop manually and steer the conversation in a new direction. Resetting the context often helps to get better results.

+

Start New Chats Frequently

+

I’ve learned that starting new chats as often as possible is essential. The more context the AI accumulates, the more expensive it gets, and the quicker it becomes confused. By resetting the chat, you ensure that the AI focuses on the task at hand without being weighed down by previous conversations.

+

Clean Your Open Tabs

+

Another surprising discovery is that AI tools seem to read your open tabs in VS Code. Keeping too many tabs open can lead to confusion, as the AI tries to make sense of everything at once. Before starting a new task, I always clean up my workspace to give the AI a fresh start. It’s a simple habit that can improve the overall experience significantly.

+

Final Thoughts

+

AI-driven development has been a game-changer for me, but it’s not without its quirks. The key to success is maintaining a clear concept, managing context carefully, and not relying too heavily on the AI’s suggestions without human oversight. By following these practices, I’ve been able to make the most of tools like Cline and VS Code, turning AI into a valuable assistant rather than a liability.

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ + + + + +
+ +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/3d-beard-oil-visualization/index.html b/cloned-websites/mintel_me/portfolio/3d-beard-oil-visualization/index.html new file mode 100644 index 0000000..0f665f1 --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/3d-beard-oil-visualization/index.html @@ -0,0 +1,1154 @@ + + + Beard Oil – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

3D Beard Oil Commercial

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

I created a 3D commercial for Beard Pride’s beard oil product using Blender. The project involved crafting a photorealistic animation to showcase the product’s features in a visually appealing and engaging way. This commercial combined my skills in product visualization and storytelling through 3D animation.

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/beisheim-center/index.html b/cloned-websites/mintel_me/portfolio/beisheim-center/index.html new file mode 100644 index 0000000..702c9f3 --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/beisheim-center/index.html @@ -0,0 +1,1092 @@ + + + Beisheim Center – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Beisheim Center

+

For the Beisheim Center project, I once again collaborated with Meire&Meire to create a custom CMS using Vue.js. The solution featured a flat file system and live editing functionality, ensuring a seamless content management experience. The project required a focus on flexibility, usability, and scalability, tailored to the specific needs of the center. This work further solidified my expertise in developing bespoke CMS solutions and crafting modern frontend experiences with JavaScript frameworks.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/beisheim-stiftung/index.html b/cloned-websites/mintel_me/portfolio/beisheim-stiftung/index.html new file mode 100644 index 0000000..d12650f --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/beisheim-stiftung/index.html @@ -0,0 +1,1222 @@ + + + Beisheim Stiftung – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Beisheim Stiftung

+

During my time at i22, I collaborated with Meire&Meire to develop a custom CMS solution for the Beisheim Stiftung. The project was built with Vue.js and included a flat file system with live editing capabilities. The focus was on providing a highly flexible and user-friendly content management experience, tailored to the foundation’s specific needs. This project honed my skills in modern JavaScript frameworks and reinforced my ability to create bespoke CMS solutions for unique client requirements.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/cable-creations/index.html b/cloned-websites/mintel_me/portfolio/cable-creations/index.html new file mode 100644 index 0000000..5adf353 --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/cable-creations/index.html @@ -0,0 +1,1098 @@ + + + Cable Creations – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Cable Creations

+

In 2024, I founded Cable Creations, a company dedicated to creating 3D cable models and photorealistic renders. The website was built using WordPress to provide a clean, professional online presence. This venture allowed me to further develop my expertise in 3D modeling and visualization, focusing on delivering high-quality, detailed product representations for various industries.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/cable-crystal-commercial/index.html b/cloned-websites/mintel_me/portfolio/cable-crystal-commercial/index.html new file mode 100644 index 0000000..3049460 --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/cable-crystal-commercial/index.html @@ -0,0 +1,1015 @@ + + + Cable Crystal Commercial – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

3D Cable Crystal Commercial

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

For Cable Creations, I created a 3D commercial to promote my own product: 3D MODELS OF CABLES laser engraved into BK7 glass. The project involved crafting a visually striking animation to highlight the unique and intricate details of the glass-engraved cable models, demonstrating both the precision of the engraving process and the aesthetic appeal of the final product.

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/cable/index.html b/cloned-websites/mintel_me/portfolio/cable/index.html new file mode 100644 index 0000000..1f21535 --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/cable/index.html @@ -0,0 +1,1120 @@ + + + (N)3GHSSYCY Cable – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

(N)3GHSSYCY for Becker & Hüser

+
+
+
+
+
+
+
+
+
+

For Becker & Hüser, I created a detailed 3D cable model labeled as (N)3GHSSYCY. The project required high precision to accurately represent the product’s specifications and aesthetics. The result was a photorealistic render that Becker & Hüser could use for their marketing and product presentations.

+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/jugend-fur-europa/index.html b/cloned-websites/mintel_me/portfolio/jugend-fur-europa/index.html new file mode 100644 index 0000000..cf18bbc --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/jugend-fur-europa/index.html @@ -0,0 +1,1248 @@ + + + Jugend für Europa – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Jugend für Europa

+

While working at Webfactory, I contributed to the “Jugend für Europa” project. My tasks included implementing accessible frontends that met BITV 95+ standards using HTML, CSS, JavaScript, jQuery, Twig, and Symphony. The project focused on creating a user-friendly experience that adhered to strict accessibility guidelines, ensuring the website was both modern and inclusive. This project deepened my understanding of accessibility in web development and taught me how to balance functionality with compliance requirements.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/klz/index.html b/cloned-websites/mintel_me/portfolio/klz/index.html new file mode 100644 index 0000000..2d8753b --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/klz/index.html @@ -0,0 +1,1040 @@ + + + KLZ – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

KLZ

+

I created the first website for KLZ, where my father is the CEO. The website was built using Next.js and React, providing a modern and responsive online presence for the company. Additionally, KLZ needed 3D models of their cables, which led me to dive deeper into Blender and 3D modeling. This project marked a significant step in my journey into 3D design, allowing me to combine web development with 3D visualization to meet the company’s specific needs.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/mintels/index.html b/cloned-websites/mintel_me/portfolio/mintels/index.html new file mode 100644 index 0000000..cf0505c --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/mintels/index.html @@ -0,0 +1,1142 @@ + + + Mintels – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Mintels

+

Mintels was a project idea developed together with my brother, focusing on creating 3D-printed camera gadgets. One of our key products was a custom camera holder for the Skadis pegboard from Ikea. I built the website using Squarespace and made my first experiences with Blender and 3D modeling to create our own product images and prototypes. This project sparked my interest in 3D design and gave me practical insights into product visualization and prototyping.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/photo-passionista/index.html b/cloned-websites/mintel_me/portfolio/photo-passionista/index.html new file mode 100644 index 0000000..778984a --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/photo-passionista/index.html @@ -0,0 +1,1040 @@ + + + Photo Passionista – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Photo Passionista

+

Photo Passionista is a photography website I created for Marisa’s portrait shooting service. The website was built using WordPress, providing a sleek and user-friendly platform to showcase her photography portfolio. This project combined my skills in web development with a creative focus on presenting visual content in an engaging way.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/product-creations/index.html b/cloned-websites/mintel_me/portfolio/product-creations/index.html new file mode 100644 index 0000000..980ee93 --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/product-creations/index.html @@ -0,0 +1,1033 @@ + + + Product Creations – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Product Creations

+

Product Creations is a joint project with Marisa, focusing on delivering high-quality product photography and 3D commercials. The project combines our creative and technical skills to produce visually engaging content for various brands and industries. This collaboration has allowed me to further expand my expertise in product visualization and storytelling through photography and 3D animation.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/telekom-icss/index.html b/cloned-websites/mintel_me/portfolio/telekom-icss/index.html new file mode 100644 index 0000000..7df1a3f --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/telekom-icss/index.html @@ -0,0 +1,1092 @@ + + + Telekom ICSS – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Telekom ICSS

+

At i22, I worked on the service website for Deutsche Telekom’s ICSS. The project involved creating dynamic and accessible frontends using JavaScript, HTML, CSS, and Contao CMS. The focus was on delivering a clean, efficient, and modern design that complied with Deutsche Telekom’s standards. This project allowed me to further refine my skills in content management systems and enterprise-level frontend development.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/telekom-mietershop/index.html b/cloned-websites/mintel_me/portfolio/telekom-mietershop/index.html new file mode 100644 index 0000000..75dc005 --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/telekom-mietershop/index.html @@ -0,0 +1,1326 @@ + + + Telekom Mietershop – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Telekom Mietershop

+

Another project I contributed to at i22 was the service website for Deutsche Telekom’s Mietershop. My work focused on building responsive and dynamic frontends using jQuery, Ruby on Rails, HTML, CSS, and JavaScript. The goal was to create a user-friendly online shop experience tailored to tenants, ensuring smooth functionality and a modern design. This project further strengthened my skills in crafting scalable, maintainable service websites for enterprise clients.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/telekom-tv-pakete/index.html b/cloned-websites/mintel_me/portfolio/telekom-tv-pakete/index.html new file mode 100644 index 0000000..7201acc --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/telekom-tv-pakete/index.html @@ -0,0 +1,1144 @@ + + + Telekom TV Pakete – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Telekom TV Pakete

+

At i22, I worked on the service website for Deutsche Telekom’s TV Packages. The project involved developing interactive frontends using jQuery, Ruby on Rails, HTML, CSS, and JavaScript. The focus was on delivering a seamless user experience with efficient navigation and responsive design. This project allowed me to broaden my expertise in full-stack web development and understand the importance of creating robust, scalable service websites for large-scale clients.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/webfactory/index.html b/cloned-websites/mintel_me/portfolio/webfactory/index.html new file mode 100644 index 0000000..9deb70c --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/webfactory/index.html @@ -0,0 +1,1170 @@ + + + Webfactory – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

webfactory.de

+

During my apprenticeship, I had the opportunity to work on real client projects at Webfactory.de. My focus was on building modern frontends using technologies like jQuery, Twig, and Symphony, primarily in phpStorm. The atmosphere at Webfactory was excellent – a motivated team, exciting projects, and plenty of opportunities to learn new things. It was a time when I not only grew technically but also had a lot of fun collaborating with my colleagues. Definitely one of the highlights of my apprenticeship years.

+
+
+ + + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/portfolio/ymekrvaslqwd-cable/index.html b/cloned-websites/mintel_me/portfolio/ymekrvaslqwd-cable/index.html new file mode 100644 index 0000000..da5e4bc --- /dev/null +++ b/cloned-websites/mintel_me/portfolio/ymekrvaslqwd-cable/index.html @@ -0,0 +1,1121 @@ + + + YMeKrvaslqwd Cable – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
+

Photorealistic 3D Cable

+
+
+ + + +
+
+
+

For KLZ, a leader in sustainable energy solutions, I had the exciting opportunity to create a series of 3D renders that showcase their green energy initiatives. This project highlights the intricate details of cable systems, the harmonious integration of nature, and the photorealistic depiction of wind turbines within their natural environment.

+
+
+ + + + +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
View
\ No newline at end of file diff --git a/cloned-websites/mintel_me/productivity/index.html b/cloned-websites/mintel_me/productivity/index.html new file mode 100644 index 0000000..e7e3369 --- /dev/null +++ b/cloned-websites/mintel_me/productivity/index.html @@ -0,0 +1,709 @@ + + + Productivity – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+

Productivity1

+
+
+
+ + + + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/project-type/3d-design/index.html b/cloned-websites/mintel_me/project-type/3d-design/index.html new file mode 100644 index 0000000..18c610c --- /dev/null +++ b/cloned-websites/mintel_me/project-type/3d-design/index.html @@ -0,0 +1,874 @@ + + + 3D Design – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+
+ +

+ 3D Design

+ +
+
+
+ + + +
+ +
+ +
+ + + +
+ +
+ +
+ + +
+ + Cable Crystal Commercial +
+
+ + + + + + + + +
+

Cable Crystal Commercial

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

(N)3GHSSYCY Cable

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Beard Oil

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

YMeKrvaslqwd Cable

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ + + +
+
+ +
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/project-type/project/index.html b/cloned-websites/mintel_me/project-type/project/index.html new file mode 100644 index 0000000..7c94cce --- /dev/null +++ b/cloned-websites/mintel_me/project-type/project/index.html @@ -0,0 +1,771 @@ + + + Project – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+
+ +

+ Project

+ +
+
+
+ + + +
+ +
+ +
+ + + +
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Mintels

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ + + +
+
+ +
+ + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/project-type/web-development/index.html b/cloned-websites/mintel_me/project-type/web-development/index.html new file mode 100644 index 0000000..5c552c5 --- /dev/null +++ b/cloned-websites/mintel_me/project-type/web-development/index.html @@ -0,0 +1,1090 @@ + + + Web Development – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+
+ +

+ Web Development

+ +
+
+
+ + + +
+ +
+ +
+ + + +
+ +
+ +
+ + +
+ + Product Creations +
+
+ + + + + + + + +
+

Product Creations

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Cable Creations

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Photo Passionista

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

KLZ

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Beisheim Center

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Beisheim Stiftung

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Telekom ICSS

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Telekom Mietershop

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Telekom TV Pakete

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Jugend für Europa

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ + + +
+
+ +
+ + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/project-type/web-development/page/2/index.html b/cloned-websites/mintel_me/project-type/web-development/page/2/index.html new file mode 100644 index 0000000..f328284 --- /dev/null +++ b/cloned-websites/mintel_me/project-type/web-development/page/2/index.html @@ -0,0 +1,775 @@ + + + Web Development – Page 2 – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+
+ +

+ Web Development

+ +
+
+
+ + + +
+ +
+ +
+ + + +
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + +
+

Webfactory

+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ + + +
+
+ +
+ + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/raycast-my-messy-but-glorious-breakup-with-spotlight/index.html b/cloned-websites/mintel_me/raycast-my-messy-but-glorious-breakup-with-spotlight/index.html new file mode 100644 index 0000000..3111819 --- /dev/null +++ b/cloned-websites/mintel_me/raycast-my-messy-but-glorious-breakup-with-spotlight/index.html @@ -0,0 +1,928 @@ + + + Raycast Review: Spotlight's Sleek Successor Shines! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

I’ll be honest. I wasn’t exactly prowling around looking for a Spotlight replacement. Spotlight was fine — like that crusty old roommate who never cleans up but also never eats your snacks. But then Raycast sauntered into my life, looking all sleek and promising productivity magic, and I thought, “Alright, let’s see if you’re worth the hype.” Spoiler: I’m never going back.

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

What hooked me? (aka how I got suckered in)

+

So there I was, aimlessly scrolling through a productivity blog (because why do actual work when you can procrastinate efficiently?), when I stumbled upon Raycast. “Faster than Spotlight! More customizable!” they said. Yeah, sure. But curiosity got the better of me, and I downloaded it. 🤷‍♂️

+

Setting it up was a breeze — way easier than assembling IKEA furniture. And let me tell you, the first time I searched for an app with Raycast, I nearly cried tears of joy. It was that fast. Like, blink-and-you-miss-it fast.

+ +
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

Favorite tricks (because who doesn’t love party tricks?)

+

Clipboard history: saving my sanity daily

+

You know that panic when you accidentally copy over something important? Yeah, me too. But Raycast keeps a history of everything you copy. EVERYTHING. It’s like having a personal assistant who remembers all your random thoughts. Need that link from 20 minutes ago? Bam. Got it. 🧠

+

Extensions: the nerdy fun stuff

+

Here’s where things get wild. Raycast has extensions for everything. Want to control Spotify without opening the app? Done. Manage GitHub issues like a boss? Easy. Need a random excuse to avoid meetings? Okay, maybe not that last one — but someone should build it.

+

I love using it to convert videos to webm or images to webp, for example. Just type a few commands, and voilà — file conversion magic happens without needing to open some clunky app. Honestly, it makes me feel like a tech wizard. 🧙‍♂️

+

Oh, and if you’re feeling adventurous (or just a little too caffeinated), you can even build your own extensions. Go ahead, flex those coding muscles. 💪

+

Snippets: because repetition is boring

+

I’m not a fan of typing the same thing over and over. Who is? With snippets, I save time by creating reusable text bits. Need to drop a quick “Sorry for the delay” email? Snippet. Boom. Done. It’s like having a shortcut to sounding responsible. 😎

+

Window management: bye-bye mouse, hello keyboard

+

You know what’s annoying? Moving windows around with a mouse. Raycast lets me manage windows with shortcuts, and suddenly I feel like a hacker in a Hollywood movie. Move this here, snap that there — all without lifting my hand off the keyboard. Efficiency level: expert.

+

Things that surprised me

+

The command palette. Oh man, this thing is a game-changer. It’s like a Swiss Army knife for your Mac. Want to run a script? Open a folder? Calculate 38 times 42 (because who remembers basic math)? The command palette’s got you.

+

And the customization options? Chef’s kiss. I’ve made Raycast feel like my app, not some generic tool. Themes, shortcuts, scripts — you name it, I’ve probably tweaked it.

+

The not-so-perfect bits

+

Okay, not everything is sunshine and rainbows. The AI features? Meh. They’re like those fancy gadgets you buy and use once. I’m sure they have potential, but right now, they’re just… there.

+

And then there’s the subscription thing for some extensions. I get it, developers need to eat, but it’s something to keep in mind if you’re planning to go extension-crazy.

+

The verdict: love it, flaws and all

+

Raycast is like that cool friend who shows up out of nowhere and makes your life infinitely better. Is it perfect? Nah. But it’s damn close. It’s faster, smarter, and just makes my Mac feel more like mine.

+

Would I recommend it? Absolutely. Just be prepared to get a little too obsessed with tweaking it. And if you see me muttering commands to my Mac like it’s a sentient being — mind your business. 😉

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/services/index.html b/cloned-websites/mintel_me/services/index.html new file mode 100644 index 0000000..035a844 --- /dev/null +++ b/cloned-websites/mintel_me/services/index.html @@ -0,0 +1,817 @@ + + + Marc Mintel: Creative 3D Artist and Digital Solutions Expert + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+

How I can help take your next project to new heights

+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+
+ + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/speed-ramp-pro-a-lifesaver-for-davinci-resolve-editors/index.html b/cloned-websites/mintel_me/speed-ramp-pro-a-lifesaver-for-davinci-resolve-editors/index.html new file mode 100644 index 0000000..1d1e2a2 --- /dev/null +++ b/cloned-websites/mintel_me/speed-ramp-pro-a-lifesaver-for-davinci-resolve-editors/index.html @@ -0,0 +1,936 @@ + + + Master DaVinci Resolve: Speed Ramp Pro Review + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

Let’s talk about speed ramping in DaVinci Resolve — you know, that cool effect where time slows down or speeds up smoothly. It adds drama, impact, and excitement to your edits. But let’s be honest, creating speed ramps manually in Resolve is a royal pain. Between the retime curve and Fusion’s time-stretch nodes, it feels like you need a degree in rocket science to get it right. Enter Speed Ramp Pro — the plugin that has saved my sanity (and probably my keyboard from getting smashed).

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

Why speed ramping without plugins is a nightmare

+

Before Speed Ramp Pro, speed ramping was the kind of task that made me question my life choices. You’ve got the retime curve, which looks deceptively simple but quickly turns into a mess of keyframes, inconsistent speeds, and lots of trial and error. Then there’s Fusion, where you can use time-stretch nodes. But unless you love spending hours tweaking frame rates and pulling your hair out, it’s not exactly user-friendly.

+

And let’s not even get started on how much time this all takes. Speed ramping manually in Resolve feels like trying to paint a masterpiece with a toothbrush — possible, but painful and unnecessarily complicated.

+

 

+ +
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

Speed Ramp Pro: The plugin I didn’t know I needed

+

Then I discovered Speed Ramp Pro on Videohive, and let me tell you — it’s a game-changer. This plugin makes speed ramping in Resolve stupidly easy. No more fiddling with retime curves, no more Fusion nodes. You apply the effect, choose your preset, and boom — professional-looking speed ramps without the headache.

+

What I love most is the simplicity. You just create a compound clip, apply the Speed Ramp Pro effect, and pick your easing curve or preset. That’s it. The plugin handles all the complicated stuff behind the scenes. It’s like having a little editing wizard sitting in your computer, making sure your speed ramps are buttery smooth.

+
+
+ + + + +
+
+
+
+
+
+
+
+ +
+
+

Real-world usage: How it’s improved my workflow

+

I recently had to edit a high-energy promo video with lots of action shots. Normally, I’d dread the speed ramping process, knowing it would eat up hours of my time. But with Speed Ramp Pro, I knocked out the entire edit in record time. I was able to experiment with different ramping styles without feeling like I was wasting half my day tweaking keyframes.

+

The plugin also has a bunch of presets that make life even easier. Whether you want a gradual ease-in, a dramatic stop-start effect, or something more custom, it’s all there. It’s like having a pre-built toolkit for speed ramps.

+

Is it worth it?

+

Absolutely. For anyone editing in DaVinci Resolve, this plugin is a no-brainer. It’s affordable, easy to use, and saves a ridiculous amount of time. Plus, the results look polished and professional, without the frustration of doing it all manually.

+

If you’re tired of fighting with retime curves and Fusion nodes, do yourself a favor and check out Speed Ramp Pro. It’s one of those tools that makes you wonder how you ever lived without it.

+

In short: Speed Ramp Pro is a blessing. Your edits will thank you. Your keyboard will thank you. And most importantly, you will thank you.

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/video/index.html b/cloned-websites/mintel_me/video/index.html new file mode 100644 index 0000000..677889f --- /dev/null +++ b/cloned-websites/mintel_me/video/index.html @@ -0,0 +1,711 @@ + + + Video – Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+

Video1

+
+
+
+ + + + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/what-i-love-about-clean-architecture-and-why-i-always-end-up-regretting-when-i-dont-use-it/index.html b/cloned-websites/mintel_me/what-i-love-about-clean-architecture-and-why-i-always-end-up-regretting-when-i-dont-use-it/index.html new file mode 100644 index 0000000..4a443b3 --- /dev/null +++ b/cloned-websites/mintel_me/what-i-love-about-clean-architecture-and-why-i-always-end-up-regretting-when-i-dont-use-it/index.html @@ -0,0 +1,983 @@ + + + What I love about Clean Architecture (and why I always end up regretting when I don’t use it) - Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

What I love about Clean Architecture (and why I always end up regretting when I don’t use it)

+

Ah, Clean Architecture—the holy grail of software structure, where your code doesn’t just work, it sings. Well, at least until you decide to skip it on a small project, thinking, “This is just a quick thing, I don’t need to over-engineer it.” Famous last words. Let me tell you why I love Clean Architecture, how it saved me from countless headaches, and why I always regret not applying it from day one.

+

Decoupling core logic from external dependencies

+

The core idea behind Clean Architecture is to keep your business logic—the heart of your application—independent of frameworks, databases, and other external services. You know, the stuff that loves to change.

+

Why? Because the moment you tie your core logic to an external dependency, you’ve made your app a ticking time bomb. Need to switch from MySQL to PostgreSQL? Boom. Want to swap out that third-party API? Good luck with that.

+

Clean Architecture makes your core logic oblivious to these changes. The business rules don’t care whether you’re using a fancy cloud database or a local SQLite file. They just do what they’re supposed to do.

+

The Dependency Rule

+

This rule is what makes Clean Architecture clean. Dependencies point inward, never outward. Your core logic should never know about external details like UI frameworks, databases, or other infrastructure. It keeps things neat, predictable, and easy to change.

+
+
+
+

Key Patterns in Clean Architecture

+

1. Use Case Pattern

+

The Use Case represents a specific piece of business logic. It should handle only one action or process.

+

Example: Let’s say we need a CreateOrder use case:

+
// ICreateOrderUseCase.ts (Interface)
+export interface ICreateOrderUseCase {
+  execute(request: CreateOrderRequest): Promise<OrderResponse>;
+}
+
+// CreateOrderUseCase.ts (Implementation)
+import { ICreateOrderUseCase } from './ICreateOrderUseCase';
+import { IOrderRepository } from '../repositories/IOrderRepository';
+
+export class CreateOrderUseCase implements ICreateOrderUseCase {
+  constructor(private orderRepository: IOrderRepository) {}
+
+  async execute(request: CreateOrderRequest): Promise<OrderResponse> {
+    const order = await this.orderRepository.create(request);
+    return { id: order.id, status: 'created' };
+  }
+}
+

Here, CreateOrderUseCase depends on the IOrderRepository interface, not on any specific database implementation.

+

2. Repository Pattern

+

Repositories handle data persistence. They abstract away the details of how data is stored and retrieved.

+

Example:

+
// IOrderRepository.ts (Interface)
+export interface IOrderRepository {
+  create(request: CreateOrderRequest): Promise<Order>;
+  findById(id: string): Promise<Order | null>;
+}
+
+// OrderRepository.ts (Implementation)
+import { IOrderRepository } from './IOrderRepository';
+import { Order } from '../entities/Order';
+
+export class OrderRepository implements IOrderRepository {
+  async create(request: CreateOrderRequest): Promise<Order> {
+    // Simulate database interaction
+    const order = new Order(request.id, request.items);
+    // Save to DB (simulated)
+    return order;
+  }
+
+  async findById(id: string): Promise<Order | null> {
+    // Simulate DB lookup
+    return new Order(id, []);
+  }
+}
+

Repositories make it easy to switch from one data storage solution to another without affecting the core logic.

+

3. Service Pattern

+

Services handle domain-specific logic that doesn’t belong to a specific entity or repository.

+

Example:

+
// EmailService.ts
+export class EmailService {
+  async sendOrderConfirmation(email: string, orderId: string): Promise<void> {
+    // Simulate sending an email
+    console.log(`Sending order confirmation to ${email} for order ${orderId}`);
+  }
+}
+

A service like EmailService can be injected into a use case to handle tasks like sending notifications.

+
+
+
+

Use Cases: My favorite topic at parties

+

Seriously, I can’t shut up about Use Cases.

+

Use Cases are the core operations of your app. They represent the things your app does. Each use case handles one specific piece of business logic. For example:

+
    +
  • CreateOrderUseCase: Takes an order request and processes it.
  • +
  • CancelSubscriptionUseCase: Handles subscription cancellations.
  • +
+

Example:

+
// CancelSubscriptionUseCase.ts
+import { ISubscriptionRepository } from '../repositories/ISubscriptionRepository';
+
+export class CancelSubscriptionUseCase {
+  constructor(private subscriptionRepository: ISubscriptionRepository) {}
+
+  async execute(subscriptionId: string): Promise<void> {
+    const subscription = await this.subscriptionRepository.findById(subscriptionId);
+    if (!subscription) throw new Error('Subscription not found');
+
+    subscription.cancel();
+    await this.subscriptionRepository.update(subscription);
+  }
+}
+

The beauty of Use Cases is their clarity. You know exactly where to look when something breaks. They make your codebase scream “I’m organized!”

+
+
+
+

Value Objects from DDD: The secret sauce

+

I love mixing Value Objects from Domain-Driven Design (DDD) into my Clean Architecture. Why? Because they make your code feel right.

+

Example:

+
// EmailAddress.ts
+export class EmailAddress {
+  private readonly value: string;
+
+  constructor(email: string) {
+    if (!this.validate(email)) {
+      throw new Error('Invalid email format');
+    }
+    this.value = email;
+  }
+
+  private validate(email: string): boolean {
+    const emailRegex = /^[^@\s]+@[^@\s]+\.[^@\s]+$/;
+    return emailRegex.test(email);
+  }
+
+  toString(): string {
+    return this.value;
+  }
+}
+

Instead of passing around raw strings, you use EmailAddress objects that ensure valid data.

+
+
+
+

Why Clean Architecture is worth it

+

In the end, Clean Architecture is all about making your life easier in the long run. It’s about creating a codebase that you can change, extend, and maintain without tearing your hair out.

+

Sure, it takes discipline to set up. But the peace of mind it brings? Absolutely worth it.

+

So, next time you’re tempted to skip Clean Architecture on a new project, remember this: Today’s quick hack is tomorrow’s legacy nightmare. Choose wisely.

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/why-i-abandoned-default-exports-completely/index.html b/cloned-websites/mintel_me/why-i-abandoned-default-exports-completely/index.html new file mode 100644 index 0000000..7c000f8 --- /dev/null +++ b/cloned-websites/mintel_me/why-i-abandoned-default-exports-completely/index.html @@ -0,0 +1,907 @@ + + + Why I Fully Ditched Default Exports in TypeScript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

Why I abandoned default exports completely

+

If you’re a TypeScript developer, you’ve probably used default exports at some point. They seem convenient, right? But after a few years of working with both default and named exports, I’ve made a decision: I’m done with default exports. Permanently.

+

Here’s why.

+

Default exports are ambiguous

+

The biggest problem with default exports is that they lack clarity. When you see:

+
import something from './module';
+

What is something? Is it a function? A class? An object? A constant? You have no idea unless you open that file. Compare that to:

+
import { usefulFunction } from './module';
+

Now it’s clear what you’re importing.

+

Default exports hide the intent of your code. When someone else (or future you) looks at the import statement, they’ll have to guess what’s being imported unless they know the module by heart.

+

Refactoring headaches

+

Imagine this scenario: You have a file with a default export function.

+
export default function processOrder(order) {
+  // do something
+}
+

Later, you decide to add another utility function to the file:

+
function validateOrder(order) {
+  // validation logic
+}
+
+export default function processOrder(order) {
+  // do something
+}
+

Oops. Now you need to rename the default export to a named one because you can’t have two default exports. So you do:

+
export { processOrder, validateOrder };
+

Now, you have to update every file that imports processOrder. And if you’re dealing with a large codebase, this can be a nightmare.

+

Had you used named exports from the start, this wouldn’t be a problem. Refactoring would be as simple as adding another named export.

+

Inconsistent imports

+

Default exports can lead to inconsistent import statements. For example:

+
import processOrder from './order-utils';
+import { validateOrder } from './order-utils';
+

Why is one a default import and the other a named import from the same file? It’s confusing.

+

Using named exports makes everything consistent:

+
import { processOrder, validateOrder } from './order-utils';
+

Much cleaner.

+

Better IDE support

+

Most modern IDEs offer auto-completion for named exports. When you type:

+
import { ... } from './module';
+

the IDE will suggest all available exports from that module. With default exports, you don’t get this benefit. You have to remember the exact name of the default export, which is annoying.

+

Easier to identify unused code

+

With named exports, tools like ESLint can easily identify unused imports and exports. With default exports, it’s trickier. The tooling has to assume that the default export might be used in a dynamic way.

+

Named exports make it clear which functions, classes, or constants are actually in use.

+

Better collaboration

+

If you’re working in a team, consistency matters. Using named exports forces everyone to be explicit about what they’re importing and exporting. This leads to fewer misunderstandings and cleaner code reviews.

+

How to migrate from default to named exports

+

If you’ve been using default exports heavily and want to switch, here’s a simple migration strategy:

+
    +
  1. Identify default exports: Look for all instances of export default in your codebase.
  2. +
  3. Rename them to named exports: Change them to export const or export function as needed.
  4. +
  5. Update import statements: Replace default imports with named imports across your project.
  6. +
  7. Run tests: Make sure everything still works as expected.
  8. +
+

Final thoughts

+

Default exports aren’t inherently evil, but they introduce more problems than they solve. In TypeScript, where clarity and type safety are key, named exports win every time.

+

So yeah, I’ve abandoned default exports completely. It’s one of those changes that’s made my TypeScript projects cleaner, more maintainable, and less frustrating to work with. And I’m not going back.

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/why-valueobjects-make-your-app-rock-solid/index.html b/cloned-websites/mintel_me/why-valueobjects-make-your-app-rock-solid/index.html new file mode 100644 index 0000000..7a95850 --- /dev/null +++ b/cloned-websites/mintel_me/why-valueobjects-make-your-app-rock-solid/index.html @@ -0,0 +1,912 @@ + + + Why I Fully Ditched Default Exports in TypeScript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + + + +
+
+ + +
+
+
+
+
+ + +
+
+ + + +
+ + +
+ + +
+ +
+ +
+ +
+
+
+
+
+ +
+
+

If you’re not using value objects in your codebase, you’re missing out on one of the best ways to make your application rock solid and full of meaning. I’m not exaggerating. They’re that good. And here’s the kicker: even if you’re not doing Domain-Driven Design (DDD), you can (and should) still use them. Let me explain why.

+

What Are Value Objects, Anyway?

+

Value objects are simple. They’re objects that:

+
    +
  • Represent a concept or value (think: email address, money, distance).
  • +
  • Are immutable.
  • +
  • Are equal based on their value, not their identity.
  • +
+

That’s it. No crazy abstractions. No magic.

+

A value object ensures that data is valid and meaningful right at the core of your application. Instead of juggling raw strings and numbers and praying that “abc@not-an-email” never sneaks into your email validation, a value object wraps that logic in a neat little package. It says: “Either you’re a valid email address, or you don’t exist. Period.”

+

Why Value Objects Are Amazing

+
    +
  1. Rock-Solid Validation: Ever had a bug caused by “creative” input data? (Let’s be honest, we all have.) Value objects let you centralize and enforce validation. If you’ve got an Email value object, no invalid email will ever sneak past it. You get instant peace of mind.
  2. +
  3. Expressive Code: Compare this: +
    const email = new Email('marc@example.com');
    +user.setEmail(email);
    +

    With this:

    +
    user.setEmail('marc@example.com');
    +

    In the first case, you know that email has been validated and carries meaning. In the second? Well, good luck tracing that string through your app.

  4. +
  5. Immutable Goodness: Value objects can’t change once created. If you need a different email address, you create a new Email object. This makes your code predictable and easier to reason about.
  6. +
  7. Easy Testing: Because value objects encapsulate validation and logic, they’re ridiculously easy to test.
  8. +
  9. Reuse Across Contexts: A value object like Money or Email isn’t tied to a specific domain or framework. You can use it in any app, anywhere.
  10. +
+

Using Value Objects Without DDD

+

Here’s the thing: while value objects are a core concept in DDD, you don’t need to buy into the entire DDD philosophy to benefit from them. They’re just good design.

+

Doing clean architecture? Value objects fit right in with your entities and use cases. Building a simple service? Value objects keep your business logic clean and your data consistent.

+

Example: Email Value Object

+

Here’s a quick example in TypeScript to show how simple and powerful a value object can be:

+
class Email {
+    private readonly value: string;
+
+    constructor(value: string) {
+        if (!this.isValid(value)) {
+            throw new Error(`${value} is not a valid email address.`);
+        }
+        this.value = value;
+    }
+
+    private isValid(email: string): boolean {
+        const emailRegex = /^[^@\s]+@[^@\s]+\.[^@\s]+$/;
+        return emailRegex.test(email);
+    }
+
+    toString(): string {
+        return this.value;
+    }
+
+    equals(other: Email): boolean {
+        return this.value === other.value;
+    }
+}
+

How to Start Using Value Objects

+
    +
  • Identify Recurring Concepts: Look for patterns like “this field needs validation” or “this value gets passed around a lot.”
  • +
  • Create Value Objects for Those Concepts: Build small, reusable classes to encapsulate the logic.
  • +
  • Refactor Ruthlessly: Replace raw data with your shiny new value objects.
  • +
+

Conclusion

+

Value objects are one of those rare tools that are simple in concept but profoundly impactful in practice. They make your code more meaningful, your logic more robust, and your life as a developer so much easier. Whether you’re building the next DDD masterpiece or just trying to wrangle some clean architecture, value objects deserve a spot in your toolbox.

+

Go forth and make your app rock solid. 🎉

+
+
+ + + + +
+
+
+
+
+
+ +
+ +
+
+ + +
+ +
+ + + +
+
+
+ +
+ +
+
+ + + + + +
+
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/work/index.html b/cloned-websites/mintel_me/work/index.html new file mode 100644 index 0000000..66a7e05 --- /dev/null +++ b/cloned-websites/mintel_me/work/index.html @@ -0,0 +1,696 @@ + + + Work - Marc Mintel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content
+
+ + +
+ + + + + + + + + +
+ +
+ +
+
+ + Close Menu + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/wp-content/plugins/admin-site-enhancements-pro/assets/js/external-permalinks.js b/cloned-websites/mintel_me/wp-content/plugins/admin-site-enhancements-pro/assets/js/external-permalinks.js new file mode 100644 index 0000000..caca06b --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/admin-site-enhancements-pro/assets/js/external-permalinks.js @@ -0,0 +1,26 @@ +document.addEventListener('DOMContentLoaded', function() { + + // console.log( phpVars ); + + // When External Permalinks is enabled, remove #new_tab from external permalinks and set target to _blank + if (phpVars.externalPermalinksEnabled) { + + var links = document.getElementsByTagName('a'); + + for (var i = 0; i < links.length; i++) { + var url = links[i].getAttribute('href'); + var target = links[i].getAttribute('target'); + + if (url != null) { + if (url.indexOf('#new_tab') >= 0) { + url = url.replace('#new_tab', ''); + target = '_blank'; + links[i].setAttribute('href', url); + links[i].setAttribute('target', target); + links[i].setAttribute('rel', 'noopener noreferrer nofollow'); + } + } + } + } + +}); \ No newline at end of file diff --git a/cloned-websites/mintel_me/wp-content/plugins/breeze/assets/js/js-front-end/breeze-lazy-load.min.js b/cloned-websites/mintel_me/wp-content/plugins/breeze/assets/js/js-front-end/breeze-lazy-load.min.js new file mode 100644 index 0000000..6627e1a --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/breeze/assets/js/js-front-end/breeze-lazy-load.min.js @@ -0,0 +1,3 @@ +/*! Created by Cloudways + On 15-10-2024 */ +!function(e,t){t=t(e,e.document,Date);"object"==typeof module&&module.exports?module.exports=t:"function"==typeof define&&define.amd?define(t):e.lazySizes=t}(window,function(n,f,r){"use strict";var m,h,e,z,D,i,y,t,c,O,o,k,H,a,P,s,u,g,p,v,b,C,$,A,q,I,U,j,l,d,V,G,J,E,K,_,Q,X,Y,M,N,w,L,Z,ee,te,ae,ne,x,ie,re,oe,se,S,W,B,le,T,de,ce,ue,F,fe,me,he,ze,ye,R,ge={lazyClass:"br-lazy",loadedClass:"br-loaded",loadingClass:"br-loading",preloadClass:"br-preload",errorClass:"br-error",autosizesClass:"br-autosizes",fastLoadedClass:"ls-is-cached",iframeLoadMode:0,srcAttr:"data-breeze",srcsetAttr:"data-brsrcset",sizesAttr:"data-brsizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};for(e in h=n.lazySizesConfig||n.lazysizesConfig||{},ge)e in h||(h[e]=ge[e]);return f&&f.getElementsByClassName?(z=f.documentElement,D=n.HTMLPictureElement,y="getAttribute",t=n[i="addEventListener"].bind(n),c=n.setTimeout,O=n.requestAnimationFrame||c,o=n.requestIdleCallback,k=/^picture$/i,H=["load","error","lazyincluded","_lazyloaded"],a={},P=Array.prototype.forEach,s=function(e,t){return a[t]||(a[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")),a[t].test(e[y]("class")||"")&&a[t]},u=function(e,t){s(e,t)||e.setAttribute("class",(e[y]("class")||"").trim()+" "+t)},g=function(e,t){(t=s(e,t))&&e.setAttribute("class",(e[y]("class")||"").replace(t," "))},p=function(t,a,e){var n=e?i:"removeEventListener";e&&p(t,a),H.forEach(function(e){t[n](e,a)})},v=function(e,t,a,n,i){var r=f.createEvent("Event");return(a=a||{}).instance=m,r.initEvent(t,!n,!i),r.detail=a,e.dispatchEvent(r),r},b=function(e,t){var a;!D&&(a=n.picturefill||h.pf)?(t&&t.src&&!e[y]("srcset")&&e.setAttribute("srcset",t.src),a({reevaluate:!0,elements:[e]})):t&&t.src&&(e.src=t.src)},C=function(e,t){return(getComputedStyle(e,null)||{})[t]},$=function(e,t,a){for(a=a||e.offsetWidth;a=r&&(M=d.top)<=Y&&(w=d.right)>=r*c&&(N=d.left)<=X&&(L||w||N||M)&&(h.loadHidden||le(u[t]))&&(E&&W<3&&!o&&(_<3||B<4)||function(e,t){var a,n=e,i=le(e);for(M-=t,L+=t,N-=t,w+=t;i&&(n=n.offsetParent)&&n!=f.body&&n!=z;)(i=0<(C(n,"opacity")||1))&&"visible"!=C(n,"overflow")&&(a=n.getBoundingClientRect(),i=w>a.left&&Na.top-1&&M{"loading"!=document.readyState?e():document.addEventListener("DOMContentLoaded",e)};function search_for_banned_links(t,r){if(t.length){var e=-1!==(r=r.startsWith("/")?r.substring(1):r).indexOf("/")?r.indexOf("/"):r.indexOf("?"),n=-1!==e?r.substring(0,e):r;for(let e=0;e{var a=[];addEventListener("mouseover",function(r){var n,i;r.target instanceof HTMLAnchorElement&&(n=new URL(breeze_prefetch.local_url).host,i=r.target.attributes.href?r.target.attributes.href.value:null)&&(-1===i.indexOf(n)&&(i=r.target.href),timer=setTimeout(function(){var e,t;"#"!==i&&(e=i.replace(breeze_prefetch.local_url,""),t=new URL(i).host,""!==i.trim())&&!1===a.includes(i)&&n===t&&!1===search_for_banned_links(breeze_prefetch.ignore_list,e)&&!0===breeze_ignore_special_links(r.target,i)&&(a.push(i.trim()),(t=document.createElement("link")).href=i,t.rel="prefetch",document.head.appendChild(t))},150))}),addEventListener("mouseout",function(e){clearTimeout(timer)})}); \ No newline at end of file diff --git a/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/css/simplebar.css b/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/css/simplebar.css new file mode 100644 index 0000000..0af2c45 --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/css/simplebar.css @@ -0,0 +1,230 @@ +[data-simplebar] { + position: relative; + flex-direction: column; + flex-wrap: wrap; + justify-content: flex-start; + align-content: flex-start; + align-items: flex-start; +} + +.simplebar-wrapper { + overflow: hidden; + width: inherit; + height: inherit; + max-width: inherit; + max-height: inherit; +} + +.simplebar-mask { + direction: inherit; + position: absolute; + overflow: hidden; + padding: 0; + margin: 0; + left: 0; + top: 0; + bottom: 0; + right: 0; + width: auto !important; + height: auto !important; + z-index: 0; +} + +.simplebar-offset { + direction: inherit !important; + box-sizing: inherit !important; + resize: none !important; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0; + margin: 0; + -webkit-overflow-scrolling: touch; +} + +.simplebar-content-wrapper { + direction: inherit; + box-sizing: border-box !important; + position: relative; + display: block; + height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */ + width: auto; + max-width: 100%; /* Not required for horizontal scroll to trigger */ + max-height: 100%; /* Needed for vertical scroll to trigger */ + overflow: auto; + scrollbar-width: none; + -ms-overflow-style: none; +} + +.simplebar-content-wrapper::-webkit-scrollbar, +.simplebar-hide-scrollbar::-webkit-scrollbar { + display: none; + width: 0; + height: 0; +} + +.simplebar-content:before, +.simplebar-content:after { + content: ' '; + display: table; +} + +.simplebar-placeholder { + max-height: 100%; + max-width: 100%; + width: 100%; + pointer-events: none; +} + +.simplebar-height-auto-observer-wrapper { + box-sizing: inherit !important; + height: 100%; + width: 100%; + max-width: 1px; + position: relative; + float: left; + max-height: 1px; + overflow: hidden; + z-index: -1; + padding: 0; + margin: 0; + pointer-events: none; + flex-grow: inherit; + flex-shrink: 0; + flex-basis: 0; +} + +.simplebar-height-auto-observer { + box-sizing: inherit; + display: block; + opacity: 0; + position: absolute; + top: 0; + left: 0; + height: 1000%; + width: 1000%; + min-height: 1px; + min-width: 1px; + overflow: hidden; + pointer-events: none; + z-index: -1; +} + +.simplebar-track { + z-index: 1; + position: absolute; + right: 0; + bottom: 0; + pointer-events: none; + overflow: hidden; +} + +[data-simplebar].simplebar-dragging { + pointer-events: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +[data-simplebar].simplebar-dragging .simplebar-content { + pointer-events: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +[data-simplebar].simplebar-dragging .simplebar-track { + pointer-events: all; +} + +.simplebar-scrollbar { + position: absolute; + left: 0; + right: 0; + min-height: 10px; +} + +.simplebar-scrollbar:before { + position: absolute; + content: ''; + background: black; + border-radius: 7px; + left: 2px; + right: 2px; + opacity: 0; + transition: opacity 0.2s 0.5s linear; +} + +.simplebar-scrollbar.simplebar-visible:before { + opacity: 0.5; + transition-delay: 0s; + transition-duration: 0s; +} + +.simplebar-track.simplebar-vertical { + top: 0; + width: 11px; +} + +.simplebar-scrollbar:before { + top: 2px; + bottom: 2px; + left: 2px; + right: 2px; +} + +.simplebar-track.simplebar-horizontal { + left: 0; + height: 11px; +} + +.simplebar-track.simplebar-horizontal .simplebar-scrollbar { + right: auto; + left: 0; + top: 0; + bottom: 0; + min-height: 0; + min-width: 10px; + width: auto; +} + +/* Rtl support */ +[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical { + right: auto; + left: 0; +} + +.simplebar-dummy-scrollbar-size { + direction: rtl; + position: fixed; + opacity: 0; + visibility: hidden; + height: 500px; + width: 500px; + overflow-y: hidden; + overflow-x: scroll; + -ms-overflow-style: scrollbar !important; +} + +.simplebar-dummy-scrollbar-size > div { + width: 200%; + height: 200%; + margin: 10px 0; +} + +.simplebar-hide-scrollbar { + position: fixed; + left: 0; + visibility: hidden; + overflow-y: scroll; + scrollbar-width: none; + -ms-overflow-style: none; +} diff --git a/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/images/play-button.svg b/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/images/play-button.svg new file mode 100644 index 0000000..43230c5 --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/images/play-button.svg @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/js/dragscroll.js b/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/js/dragscroll.js new file mode 100644 index 0000000..fd1cf8f --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/js/dragscroll.js @@ -0,0 +1,92 @@ +/** + * @fileoverview dragscroll - scroll area by dragging + * @version 0.0.8 + * + * @license MIT, see http://github.com/asvd/dragscroll + * @copyright 2015 asvd + */ + + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(['exports'], factory); + } else if (typeof exports !== 'undefined') { + factory(exports); + } else { + factory((root.dragscroll = {})); + } +}(this, function (exports) { + var _window = window; + var _document = document; + var mousemove = 'mousemove'; + var mouseup = 'mouseup'; + var mousedown = 'mousedown'; + var EventListener = 'EventListener'; + var addEventListener = 'add'+EventListener; + var removeEventListener = 'remove'+EventListener; + var newScrollX, newScrollY; + + var dragged = []; + var reset = function(i, el) { + for (i = 0; i < dragged.length;) { + el = dragged[i++]; + el = el.container || el; + el[removeEventListener](mousedown, el.md, 0); + _window[removeEventListener](mouseup, el.mu, 0); + _window[removeEventListener](mousemove, el.mm, 0); + } + + // cloning into array since HTMLCollection is updated dynamically + dragged = [].slice.call(_document.getElementsByClassName('dragscroll')); + for (i = 0; i < dragged.length;) { + (function(el, lastClientX, lastClientY, pushed, scroller, cont){ + (cont = el.container || el)[addEventListener]( + mousedown, + cont.md = function(e) { + if (!el.hasAttribute('nochilddrag') || + _document.elementFromPoint( + e.pageX, e.pageY + ) == cont + ) { + pushed = 1; + lastClientX = e.clientX; + lastClientY = e.clientY; + + e.preventDefault(); + } + }, 0 + ); + + _window[addEventListener]( + mouseup, cont.mu = function() {pushed = 0;}, 0 + ); + + _window[addEventListener]( + mousemove, + cont.mm = function(e) { + if (pushed) { + (scroller = el.scroller||el).scrollLeft -= + newScrollX = (- lastClientX + (lastClientX=e.clientX)); + scroller.scrollTop -= + newScrollY = (- lastClientY + (lastClientY=e.clientY)); + if (el == _document.body) { + (scroller = _document.documentElement).scrollLeft -= newScrollX; + scroller.scrollTop -= newScrollY; + } + } + }, 0 + ); + })(dragged[i++]); + } + } + + + if (_document.readyState == 'complete') { + reset(); + } else { + _window[addEventListener]('load', reset, 0); + } + + exports.reset = reset; +})); + diff --git a/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/js/simplebar.min.js b/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/js/simplebar.min.js new file mode 100644 index 0000000..4b86b0c --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/device-wrapper/src/js/simplebar.min.js @@ -0,0 +1,10 @@ +/** + * simplebar - v6.2.1 + * Scrollbars, simpler. + * https://grsmto.github.io/simplebar/ + * + * Made by Adrien Denat from a fork by Jonathan Nicol + * Under MIT License + */ + +var SimpleBar=function(){"use strict";var e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},e(t,i)};var t=!("undefined"==typeof window||!window.document||!window.document.createElement),i="object"==typeof global&&global&&global.Object===Object&&global,s="object"==typeof self&&self&&self.Object===Object&&self,r=i||s||Function("return this")(),l=r.Symbol,o=Object.prototype,n=o.hasOwnProperty,a=o.toString,c=l?l.toStringTag:void 0;var h=Object.prototype.toString;var u=l?l.toStringTag:void 0;function d(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":u&&u in Object(e)?function(e){var t=n.call(e,c),i=e[c];try{e[c]=void 0;var s=!0}catch(e){}var r=a.call(e);return s&&(t?e[c]=i:delete e[c]),r}(e):function(e){return h.call(e)}(e)}var p=/\s/;var v=/^\s+/;function f(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&p.test(e.charAt(t)););return t}(e)+1).replace(v,""):e}function m(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var b=/^[-+]0x[0-9a-f]+$/i,g=/^0b[01]+$/i,x=/^0o[0-7]+$/i,y=parseInt;function E(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==d(e)}(e))return NaN;if(m(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=m(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=f(e);var i=g.test(e);return i||x.test(e)?y(e.slice(2),i?2:8):b.test(e)?NaN:+e}var O=function(){return r.Date.now()},w=Math.max,S=Math.min;function A(e,t,i){var s,r,l,o,n,a,c=0,h=!1,u=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var i=s,l=r;return s=r=void 0,c=t,o=e.apply(l,i)}function v(e){return c=e,n=setTimeout(b,t),h?p(e):o}function f(e){var i=e-a;return void 0===a||i>=t||i<0||u&&e-c>=l}function b(){var e=O();if(f(e))return g(e);n=setTimeout(b,function(e){var i=t-(e-a);return u?S(i,l-(e-c)):i}(e))}function g(e){return n=void 0,d&&s?p(e):(s=r=void 0,o)}function x(){var e=O(),i=f(e);if(s=arguments,r=this,a=e,i){if(void 0===n)return v(a);if(u)return clearTimeout(n),n=setTimeout(b,t),p(a)}return void 0===n&&(n=setTimeout(b,t)),o}return t=E(t)||0,m(i)&&(h=!!i.leading,l=(u="maxWait"in i)?w(E(i.maxWait)||0,t):l,d="trailing"in i?!!i.trailing:d),x.cancel=function(){void 0!==n&&clearTimeout(n),c=0,s=a=r=n=void 0},x.flush=function(){return void 0===n?o:g(O())},x}var k=function(){return k=Object.assign||function(e){for(var t,i=1,s=arguments.length;i
';var i=t.firstElementChild,s=null==i?void 0:i.firstElementChild;if(!s)return null;document.body.appendChild(i),i.scrollLeft=0;var r=e.getOffset(i),l=e.getOffset(s);i.scrollLeft=-999;var o=e.getOffset(s);return document.body.removeChild(i),e.rtlHelpers={isScrollOriginAtZero:r.left!==l.left,isScrollingToNegative:l.left!==o.left},e.rtlHelpers},e.prototype.getScrollbarWidth=function(){try{return this.contentWrapperEl&&"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:N()}catch(e){return N()}},e.getOffset=function(e){var t=e.getBoundingClientRect(),i=j(e),s=H(e);return{top:t.top+(s.pageYOffset||i.documentElement.scrollTop),left:t.left+(s.pageXOffset||i.documentElement.scrollLeft)}},e.prototype.init=function(){t&&(this.initDOM(),this.rtlHelpers=e.getRtlHelpers(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},e.prototype.initDOM=function(){var e,t;this.wrapperEl=this.el.querySelector(P(this.classNames.wrapper)),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector(P(this.classNames.contentWrapper)),this.contentEl=this.options.contentNode||this.el.querySelector(P(this.classNames.contentEl)),this.offsetEl=this.el.querySelector(P(this.classNames.offset)),this.maskEl=this.el.querySelector(P(this.classNames.mask)),this.placeholderEl=this.findChild(this.wrapperEl,P(this.classNames.placeholder)),this.heightAutoObserverWrapperEl=this.el.querySelector(P(this.classNames.heightAutoObserverWrapperEl)),this.heightAutoObserverEl=this.el.querySelector(P(this.classNames.heightAutoObserverEl)),this.axis.x.track.el=this.findChild(this.el,"".concat(P(this.classNames.track)).concat(P(this.classNames.horizontal))),this.axis.y.track.el=this.findChild(this.el,"".concat(P(this.classNames.track)).concat(P(this.classNames.vertical))),this.axis.x.scrollbar.el=(null===(e=this.axis.x.track.el)||void 0===e?void 0:e.querySelector(P(this.classNames.scrollbar)))||null,this.axis.y.scrollbar.el=(null===(t=this.axis.y.track.el)||void 0===t?void 0:t.querySelector(P(this.classNames.scrollbar)))||null,this.options.autoHide||(_(this.axis.x.scrollbar.el,this.classNames.visible),_(this.axis.y.scrollbar.el,this.classNames.visible))},e.prototype.initListeners=function(){var e,t=this,i=H(this.el);if(this.el.addEventListener("mouseenter",this.onMouseEnter),this.el.addEventListener("pointerdown",this.onPointerEvent,!0),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),null===(e=this.contentWrapperEl)||void 0===e||e.addEventListener("scroll",this.onScroll),i.addEventListener("resize",this.onWindowResize),this.contentEl){if(window.ResizeObserver){var s=!1,r=i.ResizeObserver||ResizeObserver;this.resizeObserver=new r((function(){s&&i.requestAnimationFrame((function(){t.recalculate()}))})),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),i.requestAnimationFrame((function(){s=!0}))}this.mutationObserver=new i.MutationObserver((function(){i.requestAnimationFrame((function(){t.recalculate()}))})),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})}},e.prototype.recalculate=function(){if(this.heightAutoObserverEl&&this.contentEl&&this.contentWrapperEl&&this.wrapperEl&&this.placeholderEl){var e=H(this.el);this.elStyles=e.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var t=this.contentEl.offsetWidth,i=this.heightAutoObserverEl.offsetHeight<=1,s=this.heightAutoObserverEl.offsetWidth<=1||t>0,r=this.contentWrapperEl.offsetWidth,l=this.elStyles.overflowX,o=this.elStyles.overflowY;this.contentEl.style.padding="".concat(this.elStyles.paddingTop," ").concat(this.elStyles.paddingRight," ").concat(this.elStyles.paddingBottom," ").concat(this.elStyles.paddingLeft),this.wrapperEl.style.margin="-".concat(this.elStyles.paddingTop," -").concat(this.elStyles.paddingRight," -").concat(this.elStyles.paddingBottom," -").concat(this.elStyles.paddingLeft);var n=this.contentEl.scrollHeight,a=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=i?"auto":"100%",this.placeholderEl.style.width=s?"".concat(t||a,"px"):"auto",this.placeholderEl.style.height="".concat(n,"px");var c=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=0!==t&&a>t,this.axis.y.isOverflowing=n>c,this.axis.x.isOverflowing="hidden"!==l&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==o&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var h=this.axis.x.isOverflowing?this.scrollbarWidth:0,u=this.axis.y.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&a>r-u,this.axis.y.isOverflowing=this.axis.y.isOverflowing&&n>c-h,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el&&(this.axis.x.scrollbar.el.style.width="".concat(this.axis.x.scrollbar.size,"px")),this.axis.y.scrollbar.el&&(this.axis.y.scrollbar.el.style.height="".concat(this.axis.y.scrollbar.size,"px")),this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")}},e.prototype.getScrollbarSize=function(e){var t,i;if(void 0===e&&(e="y"),!this.axis[e].isOverflowing||!this.contentEl)return 0;var s,r=this.contentEl[this.axis[e].scrollSizeAttr],l=null!==(i=null===(t=this.axis[e].track.el)||void 0===t?void 0:t[this.axis[e].offsetSizeAttr])&&void 0!==i?i:0,o=l/r;return s=Math.max(~~(o*l),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(s=Math.min(s,this.options.scrollbarMaxSize)),s},e.prototype.positionScrollbar=function(t){var i,s,r;void 0===t&&(t="y");var l=this.axis[t].scrollbar;if(this.axis[t].isOverflowing&&this.contentWrapperEl&&l.el&&this.elStyles){var o=this.contentWrapperEl[this.axis[t].scrollSizeAttr],n=(null===(i=this.axis[t].track.el)||void 0===i?void 0:i[this.axis[t].offsetSizeAttr])||0,a=parseInt(this.elStyles[this.axis[t].sizeAttr],10),c=this.contentWrapperEl[this.axis[t].scrollOffsetAttr];c="x"===t&&this.isRtl&&(null===(s=e.getRtlHelpers())||void 0===s?void 0:s.isScrollOriginAtZero)?-c:c,"x"===t&&this.isRtl&&(c=(null===(r=e.getRtlHelpers())||void 0===r?void 0:r.isScrollingToNegative)?c:-c);var h=c/(o-a),u=~~((n-l.size)*h);u="x"===t&&this.isRtl?-u+(n-l.size):u,l.el.style.transform="x"===t?"translate3d(".concat(u,"px, 0, 0)"):"translate3d(0, ".concat(u,"px, 0)")}},e.prototype.toggleTrackVisibility=function(e){void 0===e&&(e="y");var t=this.axis[e].track.el,i=this.axis[e].scrollbar.el;t&&i&&this.contentWrapperEl&&(this.axis[e].isOverflowing||this.axis[e].forceVisible?(t.style.visibility="visible",this.contentWrapperEl.style[this.axis[e].overflowAttr]="scroll",this.el.classList.add("".concat(this.classNames.scrollable,"-").concat(e))):(t.style.visibility="hidden",this.contentWrapperEl.style[this.axis[e].overflowAttr]="hidden",this.el.classList.remove("".concat(this.classNames.scrollable,"-").concat(e))),this.axis[e].isOverflowing?i.style.display="block":i.style.display="none")},e.prototype.showScrollbar=function(e){void 0===e&&(e="y"),this.axis[e].isOverflowing&&!this.axis[e].scrollbar.isVisible&&(_(this.axis[e].scrollbar.el,this.classNames.visible),this.axis[e].scrollbar.isVisible=!0)},e.prototype.hideScrollbar=function(e){void 0===e&&(e="y"),this.axis[e].isOverflowing&&this.axis[e].scrollbar.isVisible&&(q(this.axis[e].scrollbar.el,this.classNames.visible),this.axis[e].scrollbar.isVisible=!1)},e.prototype.hideNativeScrollbar=function(){this.offsetEl&&(this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-".concat(this.scrollbarWidth,"px"):"0px",this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-".concat(this.scrollbarWidth,"px"):"0px")},e.prototype.onMouseMoveForAxis=function(e){void 0===e&&(e="y");var t=this.axis[e];t.track.el&&t.scrollbar.el&&(t.track.rect=t.track.el.getBoundingClientRect(),t.scrollbar.rect=t.scrollbar.el.getBoundingClientRect(),this.isWithinBounds(t.track.rect)?(this.showScrollbar(e),_(t.track.el,this.classNames.hover),this.isWithinBounds(t.scrollbar.rect)?_(t.scrollbar.el,this.classNames.hover):q(t.scrollbar.el,this.classNames.hover)):(q(t.track.el,this.classNames.hover),this.options.autoHide&&this.hideScrollbar(e)))},e.prototype.onMouseLeaveForAxis=function(e){void 0===e&&(e="y"),q(this.axis[e].track.el,this.classNames.hover),q(this.axis[e].scrollbar.el,this.classNames.hover),this.options.autoHide&&this.hideScrollbar(e)},e.prototype.onDragStart=function(e,t){var i;void 0===t&&(t="y");var s=j(this.el),r=H(this.el),l=this.axis[t].scrollbar,o="y"===t?e.pageY:e.pageX;this.axis[t].dragOffset=o-((null===(i=l.rect)||void 0===i?void 0:i[this.axis[t].offsetAttr])||0),this.draggedAxis=t,_(this.el,this.classNames.dragging),s.addEventListener("mousemove",this.drag,!0),s.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(s.addEventListener("click",this.preventClick,!0),s.addEventListener("dblclick",this.preventClick,!0)):(r.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},e.prototype.onTrackClick=function(e,t){var i,s,r,l,o=this;void 0===t&&(t="y");var n=this.axis[t];if(this.options.clickOnTrack&&n.scrollbar.el&&this.contentWrapperEl){e.preventDefault();var a=H(this.el);this.axis[t].scrollbar.rect=n.scrollbar.el.getBoundingClientRect();var c=null!==(s=null===(i=this.axis[t].scrollbar.rect)||void 0===i?void 0:i[this.axis[t].offsetAttr])&&void 0!==s?s:0,h=parseInt(null!==(l=null===(r=this.elStyles)||void 0===r?void 0:r[this.axis[t].sizeAttr])&&void 0!==l?l:"0px",10),u=this.contentWrapperEl[this.axis[t].scrollOffsetAttr],d=("y"===t?this.mouseY-c:this.mouseX-c)<0?-1:1,p=-1===d?u-h:u+h,v=function(){o.contentWrapperEl&&(-1===d?u>p&&(u-=40,o.contentWrapperEl[o.axis[t].scrollOffsetAttr]=u,a.requestAnimationFrame(v)):u=e.left&&this.mouseX<=e.left+e.width&&this.mouseY>=e.top&&this.mouseY<=e.top+e.height},e.prototype.findChild=function(e,t){var i=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;return Array.prototype.filter.call(e.children,(function(e){return i.call(e,t)}))[0]},e.rtlHelpers=null,e.defaultOptions={forceVisible:!1,clickOnTrack:!0,scrollbarMinSize:25,scrollbarMaxSize:0,ariaLabel:"scrollable content",classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging",scrolling:"simplebar-scrolling",scrollable:"simplebar-scrollable",mouseEntered:"simplebar-mouse-entered"},scrollableNode:null,contentNode:null,autoHide:!0},e.getOptions=B,e.helpers=V,e}(),Y=X.helpers,F=Y.getOptions,I=Y.addClasses,$=function(t){function i(){for(var e=[],s=0;sp:last-child, +.wpb_alert p:last-child, +.wpb_text_column:last-child, +.wpb_text_column p:last-child { + margin-bottom: 0 +} + + +.vc_message_box-icon>*, +.vc_message_box-icon>.fa { + font-size: 1.7em; + line-height: 1 +} + +.vc_message_box-icon>*, +.vc_toggle_simple .vc_toggle_icon::after, +.vc_toggle_simple .vc_toggle_icon::before { + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%) +} + + + +.wpb_button, +.wpb_content_element, +ul.wpb_thumbnails-fluid>li { + margin-bottom: 35px +} + +.entry-content .twitter-share-button, +.fb_like, +.twitter-share-button, +.wpb_accordion .wpb_content_element, +.wpb_googleplus, +.wpb_pinterest, +.wpb_tab .wpb_content_element { + margin-bottom: 21.74px +} + +.vc_parallax { + position: relative; + overflow: hidden +} + +.vc_parallax>* { + position: relative; + z-index: 1 +} + +.vc_parallax .vc_parallax-inner { + pointer-events: none; + position: absolute; + left: 0; + right: 0; + top: 0; + background-attachment: scroll; + background-color: transparent; + background-image: inherit; + background-size: cover; + z-index: 0; + background-position: 50% 0 +} + +.vc_video-bg-container { + position: relative +} + +.vc_video-bg { + height: 100%; + overflow: hidden; + pointer-events: none; + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 0 +} + +.vc_row[data-vc-full-width] { + -webkit-transition: opacity .5s ease; + -o-transition: opacity .5s ease; + transition: opacity .5s ease; + overflow: hidden +} + +.vc_row[data-vc-full-width].vc_hidden { + opacity: 0 +} + + +.vc_empty-element>.vc_column-inner { + min-height: 100px +} + + +iframe.twitter-share-button { + margin: 0 +} + + +.wpb_widgetised_column .wpb_wrapper>ul { + margin: 0 +} + +.wpb_widgetised_column .wpb_wrapper>ul>li { + margin-left: 0; + background-image: none; + list-style: none!important +} + +.wpb_widgetised_column .wpb_wrapper>ul>li:after, +.wpb_widgetised_column .wpb_wrapper>ul>li:before { + display: none!important +} + +.wpb_button { + display: inline-block; + padding: 4px 10px; + margin-bottom: 0; + margin-top: 0; + font-size: 13px; + line-height: 18px; + color: #333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, .75); + vertical-align: middle; + cursor: pointer; + background-color: #f7f7f7; + border: 1px solid #ccc; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-color: rgba(0, 0, 0, .1) +} + + + +.wpb_button.active, +.wpb_button.disabled, +.wpb_button:active, +.wpb_button:hover, +.wpb_button[disabled] { + background-color: #eaeaea +} + + +.wpb_button:hover { + color: #333; + background-color: #e6e6e6; + -webkit-transition: background-color .1s linear; + -o-transition: background-color .1s linear; + transition: background-color .1s linear; + background-image: none +} + +.wpb_button:focus { + outline: dotted thin; + outline: -webkit-focus-ring-color auto 5px; + outline-offset: -2px +} + +.wpb_button.active, +.wpb_button:active { + background-color: #e6e6e6; + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05) +} + +button.wpb_btn-large, +span.wpb_btn-large { + padding: 9px 14px; + font-size: 15px; + line-height: normal; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px +} + +button.wpb_btn-large [class^=icon-], +span.wpb_btn-large [class^=icon-] { + margin-top: 1px +} + +button.wpb_btn-small, +span.wpb_btn-small { + padding: 5px 9px; + font-size: 11px; + line-height: 16px +} + +button.wpb_btn-small [class^=icon-], +span.wpb_btn-small [class^=icon-] { + margin-top: -1px +} + +button.wpb_btn-mini, +span.wpb_btn-mini { + padding: 2px 6px; + font-size: 11px; + line-height: 14px +} + + + +button.wpb_button::-moz-focus-inner, +input[type=submit].wpb_button::-moz-focus-inner { + padding: 0; + border: 0 +} + +a.wpb_button_a { + border: none +} + +.wpb_content_element .wpb_tabs_nav li.ui-tabs-active a, +.wpb_gallery .wpb_flexslider .flex-caption { + cursor: default +} + +.wpb_call_to_action, +.wpb_call_to_action .wpb_button { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box +} + + +.vc_custom_heading a, +.vc_custom_heading a:focus, +.vc_custom_heading a:hover, +.vc_custom_heading a:visited { + border: none; + text-decoration: inherit; + color: inherit +} + +.vc_custom_heading a { + -webkit-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + opacity: 1 +} + +.vc_custom_heading a:hover { + opacity: .85 +} + + + +#content .wpb_call_to_action .wpb_call_text, +.wpb_call_to_action .wpb_call_text { + margin: 0; + padding-top: 0 +} + +.cta_align_bottom { + text-align: center +} + +.cta_align_bottom .wpb_button { + position: static; + margin-top: 21.74px; + display: inline-block +} + +.cta_no_button .wpb_call_text { + width: auto; + float: none +} + + + +.wpb_gmaps_widget .wpb_wrapper { + background-color: #f7f7f7; + padding: 5px +} + +.wpb_gmaps_widget .wpb_map_wraper iframe { + margin-bottom: 0; + padding: 0; + display: block; + width: 100%; + border: none +} + +.wpb_gmaps_widget.vc_map_responsive .wpb_map_wraper { + position: relative; + padding-bottom: 56.25%; + height: 0 +} + +.wpb_gmaps_widget.vc_map_responsive .wpb_map_wraper iframe { + position: absolute; + top: 0; + left: 0; + height: 100% +} + +.wpb_accordion_section .wpb_accordion_header a:focus, +.wpb_content_element .wpb_tabs_nav li a:focus, +.wpb_tour_next_prev_nav a:focus { + outline: 0 +} + +.wpb_content_element .wpb_tabs_nav, +.wpb_content_element .wpb_tour_tabs_wrapper { + padding: 0 +} + +.wpb_content_element .wpb_tabs_nav { + margin: 0; + padding-left: 0!important; + text-indent: inherit!important +} + +#content .wpb_content_element .wpb_tabs_nav { + margin: 0 +} + +.wpb_content_element .wpb_tabs_nav li { + background-color: #FFF; + white-space: nowrap; + padding: 0; + background-image: none; + list-style: none!important +} + +.wpb_content_element .wpb_accordion_wrapper .wpb_accordion_header, +.wpb_content_element .wpb_tabs_nav li.ui-tabs-active, +.wpb_content_element .wpb_tabs_nav li:hover, +.wpb_content_element.wpb_tabs .wpb_tour_tabs_wrapper .wpb_tab { + background-color: #f7f7f7 +} + +.wpb_content_element .wpb_tabs_nav li:after, +.wpb_content_element .wpb_tabs_nav li:before { + display: none!important +} + + + +.wpb_content_element .wpb_accordion_header a { + border-bottom: none; + text-decoration: none; + display: block; + padding: .5em 1em +} + +.wpb_content_element .wpb_accordion_wrapper .wpb_accordion_content { + padding: 1em +} + +.wpb_content_element .wpb_accordion_wrapper .wpb_accordion_content .wpb_row:last-child>div>div.wpb_wrapper .wpb_content_element:last-child, +.wpb_content_element .wpb_accordion_wrapper .wpb_accordion_content>.wpb_content_element:last-child, +.wpb_content_element .wpb_tour_tabs_wrapper .wpb_tab .wpb_row:last-child>div>div.wpb_wrapper .wpb_content_element:last-child, +.wpb_content_element .wpb_tour_tabs_wrapper .wpb_tab>.wpb_content_element:last-child { + margin-bottom: 0 +} + +.wpb_tabs .wpb_tabs_nav li { + float: left; + margin: 0 1px 0 0 +} + + + +.wpb_accordion .wpb_accordion_wrapper .wpb_accordion_header { + margin: 0 0 1px; + padding-top: 0; + position: relative; + text-transform: none; + font-weight: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; + letter-spacing: inherit +} + +.wpb_accordion .wpb_accordion_wrapper .wpb_accordion_header a { + padding-left: 1em +} + +.wpb_accordion .wpb_accordion_wrapper .ui-state-active .ui-icon, +.wpb_accordion .wpb_accordion_wrapper .ui-state-default .ui-icon { + display: block; + width: 16px; + height: 16px; + background-image: url(../images/toggle_open.png); + background-repeat: no-repeat; + position: absolute; + right: .7em; + top: .7em +} + +.wpb_accordion .wpb_accordion_wrapper .ui-state-active .ui-icon { + background-image: url(../images/toggle_close.png) +} + + + +.grid_layout-thumbnail .post-thumb, +body ul.wpb_thumbnails-fluid li .entry-content:last-child { + margin-bottom: 0 +} + +.wpb_column .wpb_wrapper .wpb_teaser_grid { + float: none +} + +body ul.wpb_thumbnails-fluid li { + padding: 0; + margin-left: 0; + background-image: none; + list-style: none!important +} + +body ul.wpb_thumbnails-fluid li:after, +body ul.wpb_thumbnails-fluid li:before { + display: none!important +} + +.wpb_row .wpb_filtered_grid ul.wpb_thumbnails-fluid, +.wpb_row .wpb_grid ul.wpb_thumbnails-fluid { + padding: 0; + overflow: visible!important +} + + +.wpb_image_grid .wpb_image_grid_ul a { + display: block +} + +.wpb_image_grid .wpb_image_grid_ul img { + display: block; + max-width: 100%; + height: auto +} + +.wpb_gallery .theme-default .nivoSlider { + margin-bottom: 0 +} + +.wpb_gallery .theme-default .nivo-controlNav { + padding: 10px 0 3px +} + +.wpb_gallery .wpb_flexslider .flex-control-nav { + bottom: auto; + top: 100%; + margin-top: 15px +} + +.wpb_gallery .wpb_flexslider .flex-direction-nav a { + border: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none +} + +.wpb_gallery .wpb_flexslider .flex-direction-nav a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none +} + +.wpb_gallery .wpb_flexslider .flex-direction-nav a:before { + line-height: 1 +} + +.wpb_gallery .wpb_flexslider .flex-control-paging { + z-index: 10 +} + +#content .wpb_gallery_slides ul.flex-direction-nav, +#content .wpb_gallery_slides ul.slides, +.content .wpb_gallery_slides ul.flex-direction-nav, +.content .wpb_gallery_slides ul.slides, +.wpb_content_element .wpb_gallery_slides ul li, +.wpb_gallery_slides ul.flex-direction-nav, +.wpb_gallery_slides ul.slides, +body .wpb_gallery_slides ul li { + list-style: none; + padding: 0; + background-image: none; + margin: 0 +} + +.wpb_video_widget.vc_video-el-width-10 .wpb_wrapper { + width: 10% +} + +.wpb_video_widget.vc_video-el-width-20 .wpb_wrapper { + width: 20% +} + +.wpb_video_widget.vc_video-el-width-30 .wpb_wrapper { + width: 30% +} + +.wpb_video_widget.vc_video-el-width-40 .wpb_wrapper { + width: 40% +} + +.wpb_video_widget.vc_video-el-width-50 .wpb_wrapper { + width: 50% +} + +.wpb_video_widget.vc_video-el-width-60 .wpb_wrapper { + width: 60% +} + +.wpb_video_widget.vc_video-el-width-70 .wpb_wrapper { + width: 70% +} + +.wpb_video_widget.vc_video-el-width-80 .wpb_wrapper { + width: 80% +} + +.wpb_video_widget.vc_video-el-width-90 .wpb_wrapper { + width: 90% +} + +.wpb_video_widget.vc_video-el-width-100 .wpb_wrapper { + width: 100% +} + +.wpb_video_widget .wpb_video_wrapper { + padding-top: 56.25%; + position: relative; + width: 100% +} + +.wpb_video_widget .wpb_video_wrapper>div { + padding-top: 0!important; + position: static +} + +.wpb_video_widget.vc_video-aspect-ratio-169 .wpb_video_wrapper { + padding-top: 56.25% +} + +.wpb_video_widget.vc_video-aspect-ratio-43 .wpb_video_wrapper { + padding-top: 75% +} + +.wpb_video_widget.vc_video-aspect-ratio-235 .wpb_video_wrapper { + padding-top: 42.55319149% +} + +.wpb_video_widget.vc_video-align-left .wpb_wrapper { + float: left +} + +.wpb_video_widget.vc_video-align-center .wpb_wrapper { + margin: 0 auto +} + +.wpb_video_widget.vc_video-align-right .wpb_wrapper { + float: right +} + +.wpb_video_widget .wpb_wrapper { + position: relative +} + +.wpb_video_widget .wpb_wrapper iframe { + width: 100%; + height: 100%; + display: block; + position: absolute; + margin: 0; + top: 0; + left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box +} + +.wpb_video_wrapper .fluid-width-video-wrapper { + padding-top: 0!important; + position: static +} + + + +.vc_pie_chart { + z-index: 0; + opacity: 0; + filter: alpha(opacity=0) +} + +.vc_pie_chart.vc_ready { + opacity: 1; + filter: alpha(opacity=100) +} + +.vc_pie_chart .vc_pie_wrapper { + position: relative; + margin: 0 auto +} + +.vc_pie_chart canvas { + position: relative; + z-index: 1 +} + +.vc_pie_chart .vc_pie_chart_value, +.vc_pie_chart_back { + display: block; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0 +} + +.vc_pie_chart .vc_pie_chart_value { + font-size: 200%; + text-align: center +} + +.vc_pie_chart_back { + border: 6px solid #f7f7f7; + border-radius: 50%; + opacity: .3; + filter: alpha(opacity=30); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box +} + + + + +.vc_text_separator, +.wpb_separator { + border-bottom: 1px solid #EBEBEB; + clear: both; + height: 1px +} + + + +.vc_sep_width_100, +.wpb_single_image img.vc_img-placeholder { + width: 100% +} + + + + +.vc_chart .vc_chart-legend { + font-size: 14px; + margin: 0; + padding: 0 +} + +.vc_chart .vc_chart-legend li { + line-height: 1.3em; + list-style: none; + margin: 0 0 .3em; + min-height: 1.3em +} + +.vc_chart .vc_chart-legend span { + border-radius: .3em; + display: inline-block; + height: 1.3em; + left: 0; + margin-right: .5em; + vertical-align: middle; + width: 1.3em +} + +@media (min-width:768px) { + .vc_chart .vc_chart-legend { + display: inline-block; + vertical-align: middle; + width: 40% + } + .vc_chart .vc_chart-legend li { + margin-left: 1em + } + .vc_chart .vc_chart-with-legend { + display: inline-block; + vertical-align: middle; + width: 60% + } +} + +.vc_line-chart .vc_chart-with-legend { + width: 75% +} + +.vc_line-chart .vc_chart-legend { + width: 25% +} + +.wpb_single_image .wpb_wrapper .vc_single_image-wrapper .zoomImg { + border-radius: 0 +} + +.wpb_single_image [class*='_circle'] .vc-zoom-wrapper { + border-radius: 50% +} + +.wpb_single_image [class*='_rounded'] .vc-zoom-wrapper { + border-radius: 4px +} + +.owl-carousel .owl-animated-out { + z-index: 0 +} + +.owl-carousel .owl-animated-in { + z-index: 1 +} + + + +@font-face { + font-family: vc_grid_v1; + src: url(../fonts/vc_grid/vc_grid_v1.eot); + src: url(../fonts/vc_grid/vc_grid_v1.eot#iefix-9hbgac) format('embedded-opentype'), url(../fonts/vc_grid/vc_grid_v1.woff) format('woff'), url(../fonts/vc_grid/vc_grid_v1.ttf) format('truetype'), url(../fonts/vc_grid/vc_grid_v1.svg#vc_grid_v1) format('svg'); + font-weight: 400; + font-style: normal +} + +[class*=" vc_arrow-icon-"], +[class^=vc_arrow-icon-] { + font-family: vc_grid_v1; + font-style: normal; + font-weight: 400; + line-height: 1 +} + +.vc_arrow-icon-minus:before { + content: "\e61c" +} + +.vc_arrow-icon-plus:before { + content: "\e61d" +} + +.vc_arrow-icon-arrow_down:before { + content: "\e61e" +} + +.vc_arrow-icon-arrow_up:before { + content: "\e61f" +} + +.vc_arrow-icon-arrow_01_left:before { + content: "\e600" +} + +.vc_arrow-icon-arrow_01_right:before { + content: "\e601" +} + +.vc_arrow-icon-arrow_02_left:before { + content: "\e602" +} + +.vc_arrow-icon-arrow_02_right:before { + content: "\e603" +} + +.vc_arrow-icon-arrow_03_left:before { + content: "\e604" +} + +.vc_arrow-icon-arrow_03_right:before { + content: "\e605" +} + +.vc_arrow-icon-arrow_04_left:before { + content: "\e606" +} + +.vc_arrow-icon-arrow_04_right:before { + content: "\e607" +} + +.vc_arrow-icon-arrow_05_left:before { + content: "\e608" +} + +.vc_arrow-icon-arrow_05_right:before { + content: "\e609" +} + +.vc_arrow-icon-arrow_06_left:before { + content: "\e60a" +} + +.vc_arrow-icon-arrow_06_right:before { + content: "\e60b" +} + +.vc_arrow-icon-arrow_07_left:before { + content: "\e60c" +} + +.vc_arrow-icon-arrow_07_right:before { + content: "\e60d" +} + +.vc_arrow-icon-arrow_08_left:before { + content: "\e60e" +} + +.vc_arrow-icon-arrow_08_right:before { + content: "\e60f" +} + +.vc_arrow-icon-arrow_09_left:before { + content: "\e610" +} + +.vc_arrow-icon-arrow_09_right:before { + content: "\e611" +} + +.vc_arrow-icon-arrow_10_left:before { + content: "\e612" +} + +.vc_arrow-icon-arrow_10_right:before { + content: "\e613" +} + +.vc_arrow-icon-arrow_11_left:before { + content: "\e614" +} + +.vc_arrow-icon-arrow_11_right:before { + content: "\e615" +} + +.vc_arrow-icon-arrow_12_left:before { + content: "\e616" +} + +.vc_arrow-icon-arrow_12_right:before { + content: "\e617" +} + +.vc_arrow-icon-navicon:before { + content: "\f0c9" +} + +.wpb_animate_when_almost_visible { + opacity: 0; + filter: alpha(opacity=0) +} + +.wpb_animate_when_almost_visible:not(.wpb_start_animation) { + -webkit-animation: none; + -o-animation: none; + animation: none +} + +.top-to-bottom, +.wpb_top-to-bottom { + -webkit-animation: wpb_ttb .7s 1 cubic-bezier(.175, .885, .32, 1.275); + -o-animation: wpb_ttb .7s 1 cubic-bezier(.175, .885, .32, 1.275); + animation: wpb_ttb .7s 1 cubic-bezier(.175, .885, .32, 1.275) +} + +.bottom-to-top, +.wpb_bottom-to-top { + -webkit-animation: wpb_btt .7s 1 cubic-bezier(.175, .885, .32, 1.275); + -o-animation: wpb_btt .7s 1 cubic-bezier(.175, .885, .32, 1.275); + animation: wpb_btt .7s 1 cubic-bezier(.175, .885, .32, 1.275) +} + +.left-to-right, +.wpb_left-to-right { + -webkit-animation: wpb_ltr .7s 1 cubic-bezier(.175, .885, .32, 1.275); + -o-animation: wpb_ltr .7s 1 cubic-bezier(.175, .885, .32, 1.275); + animation: wpb_ltr .7s 1 cubic-bezier(.175, .885, .32, 1.275) +} + +.right-to-left, +.wpb_right-to-left { + -webkit-animation: wpb_rtl .7s 1 cubic-bezier(.175, .885, .32, 1.275); + -o-animation: wpb_rtl .7s 1 cubic-bezier(.175, .885, .32, 1.275); + animation: wpb_rtl .7s 1 cubic-bezier(.175, .885, .32, 1.275) +} + +.appear, +.wpb_appear { + -webkit-animation: wpb_appear .7s 1 cubic-bezier(.175, .885, .32, 1.275); + -o-animation: wpb_appear .7s 1 cubic-bezier(.175, .885, .32, 1.275); + animation: wpb_appear .7s 1 cubic-bezier(.175, .885, .32, 1.275); + -webkit-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1) +} + +.wpb_start_animation { + opacity: 1; + filter: alpha(opacity=100) +} + +@-webkit-keyframes wpb_ttb { + 0% { + -webkit-transform: translate(0, -10%); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -webkit-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-moz-keyframes wpb_ttb { + 0% { + -moz-transform: translate(0, -10%); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -moz-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-o-keyframes wpb_ttb { + 0% { + -o-transform: translate(0, -10%); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -o-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@keyframes wpb_ttb { + 0% { + -webkit-transform: translate(0, -10%); + -ms-transform: translate(0, -10%); + -o-transform: translate(0, -10%); + transform: translate(0, -10%); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-webkit-keyframes wpb_btt { + 0% { + -webkit-transform: translate(0, 10%); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -webkit-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-moz-keyframes wpb_btt { + 0% { + -moz-transform: translate(0, 10%); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -moz-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-o-keyframes wpb_btt { + 0% { + -o-transform: translate(0, 10%); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -o-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@keyframes wpb_btt { + 0% { + -webkit-transform: translate(0, 10%); + -ms-transform: translate(0, 10%); + -o-transform: translate(0, 10%); + transform: translate(0, 10%); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-webkit-keyframes wpb_ltr { + 0% { + -webkit-transform: translate(-10%, 0); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -webkit-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-moz-keyframes wpb_ltr { + 0% { + -moz-transform: translate(-10%, 0); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -moz-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-o-keyframes wpb_ltr { + 0% { + -o-transform: translate(-10%, 0); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -o-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@keyframes wpb_ltr { + 0% { + -webkit-transform: translate(-10%, 0); + -ms-transform: translate(-10%, 0); + -o-transform: translate(-10%, 0); + transform: translate(-10%, 0); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-webkit-keyframes wpb_rtl { + 0% { + -webkit-transform: translate(10%, 0); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -webkit-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-moz-keyframes wpb_rtl { + 0% { + -moz-transform: translate(10%, 0); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -moz-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-o-keyframes wpb_rtl { + 0% { + -o-transform: translate(10%, 0); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -o-transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@keyframes wpb_rtl { + 0% { + -webkit-transform: translate(10%, 0); + -ms-transform: translate(10%, 0); + -o-transform: translate(10%, 0); + transform: translate(10%, 0); + opacity: 0; + filter: alpha(opacity=0) + } + 100% { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-webkit-keyframes wpb_appear { + 0% { + -webkit-transform: scale(.5); + opacity: .1; + filter: alpha(opacity=10) + } + 100% { + -webkit-transform: scale(1); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-moz-keyframes wpb_appear { + 0% { + -moz-transform: scale(.5); + opacity: .1; + filter: alpha(opacity=10) + } + 100% { + -moz-transform: scale(1); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@-o-keyframes wpb_appear { + 0% { + -o-transform: scale(.5); + opacity: .1; + filter: alpha(opacity=10) + } + 100% { + -o-transform: scale(1); + opacity: 1; + filter: alpha(opacity=100) + } +} + +@keyframes wpb_appear { + 0% { + -webkit-transform: scale(.5); + -ms-transform: scale(.5); + -o-transform: scale(.5); + transform: scale(.5); + opacity: .1; + filter: alpha(opacity=10) + } + 100% { + -webkit-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + opacity: 1; + filter: alpha(opacity=100) + } +} + +.vc-spinner::before { + content: ''; + width: 16px; + height: 16px; + display: inline-block; + pointer-events: none; + margin-top: 6px; + background: url(../images/spinner.gif) no-repeat; + background-position-x: center; + background-position-y: center +} + +.vc-spinner.vc-spinner-complete::before { + background-image: url(../vc/tick.png) +} + +.vc-spinner.vc-spinner-failed::before { + background-image: url(../vc/remove.png) +} + + + + + + +.vc_row.vc_row-flex>.span_12 { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap + } + +@media only screen and (max-width:999px) { + .vc_row.vc_row-flex>.span_12, + .vc_row.vc_row-flex>.span_12>.vc_column_container { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + } + +} + +.vc_row.vc_row-flex>.span_12, +.vc_row.vc_row-flex>.span_12>.vc_column_container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + + +.vc_row.vc_row-flex>.span_12>.vc_vc_column, +.vc_row.vc_row-flex>.span_12>.vc_vc_column_inner { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + + +.vc_row.vc_row-flex>.span_12>.vc_column_container>.wpb_wrapper { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; +} + +.vc_row.vc_row-flex>.span_12>.vc_column_container>.wpb_wrapper { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} +@media (-ms-high-contrast:active), +(-ms-high-contrast:none) { + .vc_row.vc_row-flex>.vc_column_container>.vc_column-inner>* { + min-height: 1em + } +} + + +.vc_row.vc_row-flex>.span_12>.vc_vc_column>.vc_column_container, +.vc_row.vc_row-flex>.span_12>.vc_vc_column_inner>.vc_column_container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; +} + +.vc_row.vc_row-flex>.span_12>.vc_column_container>.vc_column-inner, +.vc_row.vc_row-flex>.span_12>.vc_column_container>.column-inner-wrap>.column-inner { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} + +.vc_row.vc_row-o-equal-height>.span_12>.vc_column_container, +.vc_row.vc_row-flex>.span_12>.vc_column_container>.column-inner-wrap { + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; +} + +.vc_row.vc_row-o-content-top>.span_12>.vc_vc_column>.vc_column_container>.vc_column-inner, +.vc_row.vc_row-o-content-top>.span_12>.vc_vc_column_inner>.vc_column_container>.vc_column-inner { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.vc_row.vc_row-o-content-top:not(.vc_row-o-equal-height)>.vc_vc_column>.vc_column_container, +.vc_row.vc_row-o-content-top:not(.vc_row-o-equal-height)>.vc_vc_column_inner>.vc_column_container { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; +} + + +.vc_row.vc_row-o-content-bottom:not(.vc_row-o-equal-height)>.vc_vc_column>.vc_column_container, +.vc_row.vc_row-o-content-bottom:not(.vc_row-o-equal-height)>.vc_vc_column_inner>.vc_column_container { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + align-items: flex-end; +} + +.vc_row.vc_row-o-content-middle>.span_12>.vc_column_container>.vc_column-inner, +.vc_row.vc_row-flex>.span_12>.vc_column_container>.column-inner-wrap>.column-inner { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + width: 100%; +} + +.vc_row.vc_row-o-content-bottom>.span_12>.vc_column_container>.vc_column-inner { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.vc_row.vc_row-o-content-middle:not(.vc_row-o-equal-height)>.vc_vc_column>.vc_column_container, +.vc_row.vc_row-o-content-middle:not(.vc_row-o-equal-height)>.vc_vc_column_inner>.vc_column_container { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} + + +@media screen and (max-width: 999px) { + .vc_row.vc_row-flex > .span_12, .vc_row.vc_row-flex > .span_12 > .vc_column_container, + .vc_row.vc_row-flex>.span_12>.vc_column_container>.vc_column-inner, + .vc_row.vc_row-flex>.span_12>.vc_column_container>.column-inner-wrap>.column-inner { + display: block; + } +} + +@media only screen and (max-width: 999px) and (min-width: 690px) { +.vc_row.vc_row-flex > .span_12, .vc_row.vc_row-flex > .span_12 > .vc_column_container.one-fourths, +.vc_row.vc_row-flex>.span_12>.vc_column_container.one-fourths>.vc_column-inner { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} +} + +.vc_row.vc_row-o-columns-stretch.vc_row-o-full-height > .span_12 { + -webkit-align-content: stretch; + -ms-flex-line-pack: stretch; + align-content: stretch; +} +.vc_row.vc_row-o-columns-top.vc_row-o-full-height > .span_12 { + -webkit-align-content: flex-start; + -ms-flex-line-pack: start; + align-content: flex-start; +} +.vc_row.vc_row-o-columns-bottom.vc_row-o-full-height > .span_12 { + -webkit-align-content: flex-end!important; + -ms-flex-line-pack: end!important; + align-content: flex-end!important; +} +.vc_row.vc_row-o-columns-middle.vc_row-o-full-height > .span_12 { + -webkit-align-content: center; + -ms-flex-line-pack: center; + align-content: center; +} +.vc_row.vc_row-o-columns-bottom > .span_12::after, .vc_row.vc_row-o-columns-middle > .span_12::after, .vc_row.vc_row-o-columns-top > .span_12::after { + content: ''; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; + display: block; +} + +.vc_row.vc_row-flex.vc_row-o-full-height > .span_12 { + display: -webkit-box!important; + display: -webkit-flex!important; + display: -ms-flexbox!important; + display: flex!important; +} diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.eot b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.eot new file mode 100644 index 0000000..7e949cd Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.eot differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.svg b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.svg new file mode 100644 index 0000000..f4d33ef --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.svg @@ -0,0 +1,43 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.ttf b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.ttf new file mode 100644 index 0000000..321aecf Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.ttf differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.woff b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.woff new file mode 100644 index 0000000..ea0f8db Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_grid/vc_grid_v1.woff differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.eot b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.eot new file mode 100644 index 0000000..98ba099 Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.eot differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.svg b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.svg new file mode 100644 index 0000000..9a8996a --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.svg @@ -0,0 +1,52 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.ttf b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.ttf new file mode 100644 index 0000000..2e75c78 Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.ttf differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.woff b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.woff new file mode 100644 index 0000000..ccd0e2d Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/fonts/vc_icons_v2/fonts/vcpb-plugin-icons.woff differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/spinner.gif b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/spinner.gif new file mode 100644 index 0000000..d0bce15 Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/spinner.gif differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/toggle_close.png b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/toggle_close.png new file mode 100644 index 0000000..1c5e2b3 Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/toggle_close.png differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/toggle_open.png b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/toggle_open.png new file mode 100644 index 0000000..fc537a9 Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/images/toggle_open.png differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/vc/remove.png b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/vc/remove.png new file mode 100644 index 0000000..4a31796 Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/vc/remove.png differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/vc/tick.png b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/vc/tick.png new file mode 100644 index 0000000..5d81088 Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/js_composer_salient/assets/vc/tick.png differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/salient-core/js/third-party/touchswipe.min.js b/cloned-websites/mintel_me/wp-content/plugins/salient-core/js/third-party/touchswipe.min.js new file mode 100644 index 0000000..685e262 --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/salient-core/js/third-party/touchswipe.min.js @@ -0,0 +1,2 @@ +/* Touch swipe */ +(function(d){var m="left",l="right",c="up",s="down",b="in",t="out",j="none",o="auto",i="swipe",p="pinch",u="tap",x="horizontal",q="vertical",g="all",e="start",h="move",f="end",n="cancel",a="ontouchstart" in window,v="TouchSwipe";var k={fingers:1,threshold:75,cancelThreshold:25,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,triggerOnTouchEnd:true,triggerOnTouchLeave:false,allowPageScroll:"auto",fallbackToMouseEvents:true,excludedElements:"button, input, select, textarea, a, .noSwipe"};d.fn.swipe=function(A){var z=d(this),y=z.data(v);if(y&&typeof A==="string"){if(y[A]){return y[A].apply(this,Array.prototype.slice.call(arguments,1))}else{d.error("Method "+A+" does not exist on jQuery.swipe")}}else{if(!y&&(typeof A==="object"||!A)){return r.apply(this,arguments)}}return z};d.fn.swipe.defaults=k;d.fn.swipe.phases={PHASE_START:e,PHASE_MOVE:h,PHASE_END:f,PHASE_CANCEL:n};d.fn.swipe.directions={LEFT:m,RIGHT:l,UP:c,DOWN:s,IN:b,OUT:t};d.fn.swipe.pageScroll={NONE:j,HORIZONTAL:x,VERTICAL:q,AUTO:o};d.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:g};function r(y){if(y&&(y.allowPageScroll===undefined&&(y.swipe!==undefined||y.swipeStatus!==undefined))){y.allowPageScroll=j}if(y.click!==undefined&&y.tap===undefined){y.tap=y.click}if(!y){y={}}y=d.extend({},d.fn.swipe.defaults,y);return this.each(function(){var A=d(this);var z=A.data(v);if(!z){z=new w(this,y);A.data(v,z)}})}function w(S,ag){var aJ=(a||!ag.fallbackToMouseEvents),az=aJ?"touchstart":"mousedown",U=aJ?"touchmove":"mousemove",av=aJ?"touchend":"mouseup",D=aJ?null:"mouseleave",R="touchcancel";var ad=0,N=null,ah=0,aF=0,A=0,aj=1,aA=0,aN=0,Z=null;var H=d(S);var O="start";var aI=0;var ai=null;var I=0,Y=0,aD=0,aP=0;try{H.bind(az,at);H.bind(R,L)}catch(aG){d.error("events not supported "+az+","+R+" on jQuery.swipe")}this.enable=function(){H.bind(az,at);H.bind(R,L);return H};this.disable=function(){Q();return H};this.destroy=function(){Q();H.data(v,null);return H};this.option=function(aR,aQ){if(ag[aR]!==undefined){if(aQ===undefined){return ag[aR]}else{ag[aR]=aQ}}else{d.error("Option "+aR+" does not exist on jQuery.swipe.options")}};function at(aS){if(X()){return}if(d(aS.target).closest(ag.excludedElements,H).length>0){return}var aT=aS.originalEvent?aS.originalEvent:aS;var aR,aQ=a?aT.touches[0]:aT;O=e;if(a){aI=aT.touches.length}else{aS.preventDefault()}ad=0;N=null;aN=null;ah=0;aF=0;A=0;aj=1;aA=0;ai=T();Z=aE();z();if(!a||(aI===ag.fingers||ag.fingers===g)||ap()){aO(0,aQ);I=B();if(aI==2){aO(1,aT.touches[1]);aF=A=aa(ai[0].start,ai[1].start)}if(ag.swipeStatus||ag.pinchStatus){aR=aH(aT,O)}}else{aR=false}if(aR===false){O=n;aH(aT,O);return aR}else{ak(true)}}function P(aT){var aW=aT.originalEvent?aT.originalEvent:aT;if(O===f||O===n||af()){return}var aS,aR=a?aW.touches[0]:aW;var aU=V(aR);Y=B();if(a){aI=aW.touches.length}O=h;if(aI==2){if(aF==0){aO(1,aW.touches[1]);aF=A=aa(ai[0].start,ai[1].start)}else{V(aW.touches[1]);A=aa(ai[0].end,ai[1].end);aN=ao(ai[0].end,ai[1].end)}aj=y(aF,A);aA=Math.abs(aF-A)}if((aI===ag.fingers||ag.fingers===g)||!a||ap()){N=ar(aU.start,aU.end);C(aT,N);ad=G(aU.start,aU.end);ah=K();aK(N,ad);if(ag.swipeStatus||ag.pinchStatus){aS=aH(aW,O)}if(!ag.triggerOnTouchEnd||ag.triggerOnTouchLeave){var aQ=true;if(ag.triggerOnTouchLeave){var aV=au(this);aQ=aC(aU.end,aV)}if(!ag.triggerOnTouchEnd&&aQ){O=aM(h)}else{if(ag.triggerOnTouchLeave&&!aQ){O=aM(f)}}if(O==n||O==f){aH(aW,O)}}}else{O=n;aH(aW,O)}if(aS===false){O=n;aH(aW,O)}}function ab(aS){var aU=aS.originalEvent;if(a){if(aU.touches.length>0){aw();return true}}if(af()){aI=aP}aS.preventDefault();Y=B();if(ag.triggerOnTouchEnd||(ag.triggerOnTouchEnd==false&&O===h)){O=f;var aR=((aI===ag.fingers||ag.fingers===g)||!a);var aQ=ai[0].end.x!==0;var aT=aR&&aQ&&(an()||aB());if(aT){aH(aU,O)}else{O=n;aH(aU,O)}}else{if(!ag.triggerOnTouchEnd&&ay()){O=f;am(aU,O,u)}else{if(O===h){O=n;aH(aU,O)}}}ak(false)}function L(){aI=0;Y=0;I=0;aF=0;A=0;aj=1;z();ak(false)}function W(aQ){var aR=aQ.originalEvent;if(ag.triggerOnTouchLeave){O=aM(f);aH(aR,O)}}function Q(){H.unbind(az,at);H.unbind(R,L);H.unbind(U,P);H.unbind(av,ab);if(D){H.unbind(D,W)}ak(false)}function aM(aT){var aS=aT;var aR=aq();var aQ=ae();if(!aR){aS=n}else{if(aQ&&aT==h&&(!ag.triggerOnTouchEnd||ag.triggerOnTouchLeave)){aS=f}else{if(!aQ&&aT==f&&ag.triggerOnTouchLeave){aS=n}}}return aS}function aH(aS,aQ){var aR=undefined;if(ac()){aR=am(aS,aQ,i)}if(ap()&&aR!==false){aR=am(aS,aQ,p)}if(ay()&&aR!==false){aR=am(aS,aQ,u)}if(aQ===n){L(aS)}if(aQ===f){if(a){if(aS.touches.length==0){L(aS)}}else{L(aS)}}return aR}function am(aT,aQ,aS){var aR=undefined;if(aS==i){H.trigger("swipeStatus",[aQ,N||null,ad||0,ah||0,aI]);if(ag.swipeStatus){aR=ag.swipeStatus.call(H,aT,aQ,N||null,ad||0,ah||0,aI);if(aR===false){return false}}if(aQ==f&&aB()){H.trigger("swipe",[N,ad,ah,aI]);if(ag.swipe){aR=ag.swipe.call(H,aT,N,ad,ah,aI);if(aR===false){return false}}switch(N){case m:H.trigger("swipeLeft",[N,ad,ah,aI]);if(ag.swipeLeft){aR=ag.swipeLeft.call(H,aT,N,ad,ah,aI)}break;case l:H.trigger("swipeRight",[N,ad,ah,aI]);if(ag.swipeRight){aR=ag.swipeRight.call(H,aT,N,ad,ah,aI)}break;case c:H.trigger("swipeUp",[N,ad,ah,aI]);if(ag.swipeUp){aR=ag.swipeUp.call(H,aT,N,ad,ah,aI)}break;case s:H.trigger("swipeDown",[N,ad,ah,aI]);if(ag.swipeDown){aR=ag.swipeDown.call(H,aT,N,ad,ah,aI)}break}}}if(aS==p){H.trigger("pinchStatus",[aQ,aN||null,aA||0,ah||0,aI,aj]);if(ag.pinchStatus){aR=ag.pinchStatus.call(H,aT,aQ,aN||null,aA||0,ah||0,aI,aj);if(aR===false){return false}}if(aQ==f&&an()){switch(aN){case b:H.trigger("pinchIn",[aN||null,aA||0,ah||0,aI,aj]);if(ag.pinchIn){aR=ag.pinchIn.call(H,aT,aN||null,aA||0,ah||0,aI,aj)}break;case t:H.trigger("pinchOut",[aN||null,aA||0,ah||0,aI,aj]);if(ag.pinchOut){aR=ag.pinchOut.call(H,aT,aN||null,aA||0,ah||0,aI,aj)}break}}}if(aS==u){if(aQ===n||aQ===f){if((aI===1||!a)&&(isNaN(ad)||ad===0)){H.trigger("tap",[aT.target]);if(ag.tap){aR=ag.tap.call(H,aT,aT.target)}}}}return aR}function ae(){var aQ=true;if(ag.threshold!==null){aQ=ad>=ag.threshold}if(aQ&&ag.cancelThreshold!==null){aQ=(M(N)-ad)=ag.pinchThreshold}return true}function aq(){var aQ;if(ag.maxTimeThreshold){if(ah>=ag.maxTimeThreshold){aQ=false}else{aQ=true}}else{aQ=true}return aQ}function C(aQ,aR){if(ag.allowPageScroll===j||ap()){aQ.preventDefault()}else{var aS=ag.allowPageScroll===o;switch(aR){case m:if((ag.swipeLeft&&aS)||(!aS&&ag.allowPageScroll!=x)){aQ.preventDefault()}break;case l:if((ag.swipeRight&&aS)||(!aS&&ag.allowPageScroll!=x)){aQ.preventDefault()}break;case c:if((ag.swipeUp&&aS)||(!aS&&ag.allowPageScroll!=q)){aQ.preventDefault()}break;case s:if((ag.swipeDown&&aS)||(!aS&&ag.allowPageScroll!=q)){aQ.preventDefault()}break}}}function an(){return al()}function ap(){return !!(ag.pinchStatus||ag.pinchIn||ag.pinchOut)}function ax(){return !!(an()&&ap())}function aB(){var aQ=aq();var aS=ae();var aR=aS&&aQ;return aR}function ac(){return !!(ag.swipe||ag.swipeStatus||ag.swipeLeft||ag.swipeRight||ag.swipeUp||ag.swipeDown)}function E(){return !!(aB()&&ac())}function ay(){return !!(ag.tap)}function aw(){aD=B();aP=event.touches.length+1}function z(){aD=0;aP=0}function af(){var aQ=false;if(aD){var aR=B()-aD;if(aR<=ag.fingerReleaseThreshold){aQ=true}}return aQ}function X(){return !!(H.data(v+"_intouch")===true)}function ak(aQ){if(aQ===true){H.bind(U,P);H.bind(av,ab);if(D){H.bind(D,W)}}else{H.unbind(U,P,false);H.unbind(av,ab,false);if(D){H.unbind(D,W,false)}}H.data(v+"_intouch",aQ===true)}function aO(aR,aQ){var aS=aQ.identifier!==undefined?aQ.identifier:0;ai[aR].identifier=aS;ai[aR].start.x=ai[aR].end.x=aQ.pageX||aQ.clientX;ai[aR].start.y=ai[aR].end.y=aQ.pageY||aQ.clientY;return ai[aR]}function V(aQ){var aS=aQ.identifier!==undefined?aQ.identifier:0;var aR=J(aS);aR.end.x=aQ.pageX||aQ.clientX;aR.end.y=aQ.pageY||aQ.clientY;return aR}function J(aR){for(var aQ=0;aQ=0)){return m}else{if((aS<=360)&&(aS>=315)){return m}else{if((aS>=135)&&(aS<=225)){return l}else{if((aS>45)&&(aS<135)){return s}else{return c}}}}}function B(){var aQ=new Date();return aQ.getTime()}function au(aQ){aQ=d(aQ);var aS=aQ.offset();var aR={left:aS.left,right:aS.left+aQ.outerWidth(),top:aS.top,bottom:aS.top+aQ.outerHeight()};return aR}function aC(aQ,aR){return(aQ.x>aR.left&&aQ.xaR.top&&aQ.y .main-content > .row:has(~ .nectar-global-section) { + padding-bottom: 0; +} + +body.single-portfolio div[data-project-header-bg="true"] .container-wrap{ + padding-top:40px!important +} + +body.single-portfolio .container-wrap, +body.single-portfolio #full-width-portfolio div[data-project-header-bg="true"] .container-wrap{ + padding-top:0!important +} + +.single-portfolio .row .col.section-title h1{ + width:900px; + margin-bottom:0 +} + +.single-portfolio .row .col.section-title h1, +.single-portfolio .row .col.section-title .subheader{ + display:inline-block; + top:0; + text-align:center; + width:100%; + padding-left: 0; +} + +.single-portfolio #full_width_portfolio #portfolio-nav{ + margin-right:0 +} + +.single-portfolio #full_width_portfolio .span_12{ + padding-right:0; + margin-top:0 +} + +#full_width_portfolio .project-title.parallax-effect{ + background-color:#f8f8f8; + z-index:9; + position:fixed; + padding-top:88px; + padding-bottom:28px; + width:100% +} + +body[data-header-format="left-header"] #full_width_portfolio .project-title.parallax-effect{ + padding-top:40px +} +body #page-header-bg .project-title{ + padding-top:0; + margin:0; + background-color:transparent +} +#boxed #full_width_portfolio .project-title.parallax-effect{ + position:relative; + top:0; + padding-right:0 +} +.project-title .hidden-title{ + opacity:0 +} +#full_width_portfolio .project-title.parallax-effect .section-title, +#full_width_portfolio .project-title{ + padding-bottom:0 +} +#full_width_portfolio .project-title.parallax-effect .section-title, +#page-header-bg .section-title, +.single .row .section-title, +#full_width_portfolio .project-title .container .title-wrap{ + border-bottom:none +} +body.single .project-title .section-title{ + padding:0 70px 0 70px +} + +#regular_portfolio .container-wrap[data-rm-header="true"] .main-content { + padding-top: 50px; +} + +.project-additional.clear{ + clear:both; + display:block +} +.project-additional.clear li{ + float:none +} +.single-portfolio #project-meta .clear{ + padding-bottom:0 +} +.single-portfolio #project-meta .sharing li a > .count{ + opacity:0 +} +.portfolio-items .col.no-transition{ + -webkit-transition-duration:0s!important; + transition-duration:0s!important +} +body .container .portfolio-filters-inline.full-width-content .container, +body .container .portfolio-filters-inline.full-width-content .container:not(.tab-container):not(.recent-post-container){ + width:100%; + max-width:100%; + padding:0 31px +} +.portfolio-items .col .work-info .vert-center .custom-content .nectar-button i{ + opacity:0 +} +.portfolio-items .col .work-info .vert-center .custom-content .nectar-button.has-icon:hover i { + opacity: 1; +} + +.carousel-wrap[data-full-width="true"] .carousel-heading .portfolio-page-link{ + position:absolute; + left:0 +} +.carousel-wrap[data-full-width="true"] .portfolio-items .col .work-item.style-2 .work-info >a, +.portfolio-items .col .work-item.style-2 .work-info >a, +.portfolio-items .col .work-item.style-3 .work-info >a, +.portfolio-items .col .work-item.style-4 .work-info >a, +.portfolio-items .col .work-item.style-3-alt .work-info >a, +.portfolio-items .col .work-item.style-1 .work-info >a{ + display:block; + margin:0; + background-color:transparent!important; + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + z-index:40 +} +.carousel-wrap[data-full-width="true"] .portfolio-items .col .work-item h3, +.portfolio-items .col .work-item.style-2 h3{ + margin-bottom:0 +} +.page-template-template-portfolio-php #pagination{ + margin-bottom:30px +} + +.project-attrs { + margin-bottom: 0; + margin-left: 0; +} + +.project-attrs li { + list-style: none; +} +.project-attrs li span { + display: inline-block; + margin-right: 10px; + height: 14px; + width: 14px; + background-color: #000; + -webkit-border-radius: 40px; + border-radius: 40px; + background-repeat: no-repeat; + background-position: center center; +} + +.project-attrs li i { + font-size: 14px; + line-height: 14px; + width: 23px; + text-align: left; + height: auto; + background-color: transparent; +} + +.portfolio-items .work-item [id^="video-popup-"] { + display: none; +} + +div[id^="video-popup-"].mfp-iframe-scaler > .video > .wp-video > video { + display: none; +} + +#project-meta .nectar-love { + color: #888; +} + +#project-meta .nectar-love:hover { + color: #888; +} + +.single-portfolio #sidebar .nectar_hook_sidebar_top { + margin-bottom: 40px; +} + +#sidebar #sidebar-inner .project-sharing:not([data-sharing-style="fixed"]) { + margin-bottom: 20px; + margin-left: 0; +} + +#sidebar #project-meta .project-sharing[data-sharing-style="fixed"] li { + float: none; + display: inline-block; +} + +#sidebar #project-meta ul li { + float: left; + padding: 0; + border-bottom: 0; +} + +body.single-portfolio #sidebar #project-meta ul li:first-child{ + margin-left:0!important +} + +#project-meta ul li .nectar-love-wrap { + border-right: 1px solid #ddd; + margin-right: 16px; + padding-right: 16px; + width: auto; +} + +#project-meta ul li .nectar-love-wrap.no-border { + border: none; +} + +#project-meta ul li .nectar-love-wrap.fadein .nectar-love-count, +#single-meta ul li .nectar-love-wrap.fadein .nectar-love-count { + opacity: 0; + display: block; + width: 0; +} + +#project-meta ul li .nectar-love-wrap.fadein span, +#single-meta ul li .nectar-love-wrap.fadein span { + line-height: 12px; +} + +#project-meta ul li .nectar-love-wrap.fadein, +#single-meta ul li .nectar-love-wrap.fadein { + padding-top: 4px; + padding-bottom: 4px; +} + +.single #single-meta ul li .nectar-love-wrap.fadein { + margin-right: 16px; + padding-right: 16px; +} + +#project-meta ul li .nectar-love-wrap.fadein .nectar-love, +#single-meta ul li .nectar-love-wrap.fadein .nectar-love { + display: block; +} + + +.single-portfolio .comments-section #respond { + margin-top: 30px; +} + +.single-portfolio #sidebar h3, .single-portfolio #sidebar h4 { + margin-bottom: 0; + padding-bottom: 4px; +} + +.single-portfolio #sidebar { + margin-bottom: 30px; + transition: none 0s; +} + +.single-portfolio .gallery-slider .gallery, +.single-portfolio .gallery-slider .jetpack-slideshow { + display: none; +} + +#portfolio-extra img { + display: block; +} + +#portfolio-extra .clear { + padding-bottom: 0; +} + +#full_width_portfolio #portfolio-extra .empty-second .clear { + padding-bottom: 65px; +} + +#full_width_portfolio #portfolio-extra .clear { + padding-bottom: 24px; +} + +.fixed-sidebar { + float: right; + transition: none; + margin-bottom: 55px; +} + +.single-portfolio .post-area { + padding-right: 40px; + margin-right: 0!important; + margin-top: 4px; + width: 76.5%; +} + +.single-portfolio #boxed .post-area { + width: 76.49%; +} +.single-portfolio.material #boxed .post-area { + width: 68%; +} + +.single-portfolio .post-area.span_12, +.single-portfolio #boxed .post-area.span_12 { + width: 100%; +} + +.single-portfolio .post-area .video { + margin-bottom: 15px; +} + + + +/*-------------------------------------------------------------------------*/ +/* 2. Portfolio Controls +/*-------------------------------------------------------------------------*/ + +.portfolio-filters, #portfolio-nav { + height: 33px; + z-index: 100; + right: 0; + top: 0; + position: absolute; + display: inline-block; + width: 100%; +} + +#portfolio-nav { + height: 100%; + top: 0; +} + +#portfolio-nav ul, .single-post #single-meta { + top: 50%; + margin-top: -13px; + float: none; + z-index: 102; + position: absolute; +} + +.section-title #portfolio-nav .controls { + margin-top: -13px; +} + +body .container-wrap[data-nav-pos="after_project"], +body.single-portfolio .container-wrap[data-nav-pos="after_project"] { + padding-bottom: 0; +} + +.single-portfolio #page-header-bg .subheader { + padding-left: 0; + margin-bottom: 0; +} + +.bottom_controls { + background-color: rgba(0,0,0,0.03); + padding: 40px 0; + margin-top: 40px; + position: relative; + z-index: 1; +} +.bottom_controls #portfolio-nav { + position: relative; + text-align: center; +} + +body .bottom_controls .container { + line-height: 1px; + height: 50px; +} + +.bottom_controls #portfolio-nav .controls { + float: none; + width: 100%; + margin-top: -25px; +} + +.bottom_controls #portfolio-nav .controls li:last-child { + float: right; +} + +body .bottom_controls #portfolio-nav .controls #prev-link i, +body .bottom_controls #portfolio-nav .controls #next-link i { + font-size: 26px; +} + +.bottom_controls #portfolio-nav .controls li a, +.bottom_controls #portfolio-nav .controls #prev-link a, +.bottom_controls #portfolio-nav .controls #next-link a { + float: none; +} + +.bottom_controls #portfolio-nav .controls li a i { + box-sizing: content-box; + width: 10px; + vertical-align: middle; + display: inline-block; + -webkit-transition: all 0.25s cubic-bezier(0.12, 0.75, 0.4, 1); + transition: all 0.25s cubic-bezier(0.12, 0.75, 0.4, 1); +} + +.bottom_controls #portfolio-nav .controls #next-link i { + padding-left: 15px; +} + +.bottom_controls #portfolio-nav .controls #prev-link i { + padding-right: 15px; +} + +.bottom_controls #portfolio-nav .controls li a i:after { + display: block; + content: ' '; + position: absolute; + width: 24px; + height: 2px; + background-color: #000; + top: 17px; + opacity: 0; + left: -4px; + cursor: pointer; + -webkit-transform: translateX(-20px); + transform: translateX(-20px); + -webkit-transition: all 0.25s cubic-bezier(0.12, 0.75, 0.4, 1); + transition: all 0.25s cubic-bezier(0.12, 0.75, 0.4, 1); +} + +.bottom_controls #portfolio-nav .controls #next-link a i:after { + left: 6px; +} + +.bottom_controls #portfolio-nav .controls #next-link a:hover i:after { + opacity: 1; + -webkit-transform: translateX(7px); + transform: translateX(7px); +} + +.bottom_controls #portfolio-nav .controls #next-link a:hover i { + padding-left: 30px; +} + +.bottom_controls #portfolio-nav .controls #prev-link a i:after { + -webkit-transform: translateX(12px); + transform: translateX(12px); + left: 3px; +} + +.bottom_controls #portfolio-nav .controls #prev-link a:hover i:after { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); +} +.bottom_controls #portfolio-nav .controls #prev-link a:hover i { + padding-right: 30px; +} + +.bottom_controls #portfolio-nav ul:first-child { + display: inline-block; + position: relative; + z-index: 1000; + margin-top: 0; + margin-left: 0; + top: 0; +} +.bottom_controls #portfolio-nav ul:first-child li, +.bottom_controls #portfolio-nav { + height: 50px; + line-height: 50px; +} + +.bottom_controls #portfolio-nav ul:first-child #all-items a { + margin-right: 0; +} +.bottom_controls #portfolio-nav ul:first-child li i:before { + display: none; +} + +.bottom_controls #portfolio-nav ul:first-child li a { + font-size: 20px; + width: 40px; + height: 40px; +} +.bottom_controls #portfolio-nav ul:first-child #all-items a i { + width:.3em; + height:.3em; + display: block; + border-radius: 0; + transition: all 0.25s cubic-bezier(0.12, 0.75, 0.4, 1); + -webkit-transition: all 0.25s cubic-bezier(0.12, 0.75, 0.4, 1); + font-size: 20px; + left: 18px; + top: 22px; + background-color: #888; + box-shadow: -.5em 0 #888, -.5em .5em #888, .5em 0 #888, .5em -.5em #888, 0 -.5em #888, -.5em -.5em #888, 0 .5em #888, .5em .5em #888; +} +.bottom_controls #portfolio-nav ul:first-child #all-items a:hover i { + box-shadow: -.6em 0 #000, -.6em .6em #000, .6em 0 #000, .6em -.6em #000, 0 -.6em #000, -.6em -.6em #000, 0 .6em #000, .6em .6em #000; +} + +.single-post #single-meta { + margin-top: -20px; +} + +.single #page-header-bg #single-meta { + margin-top: -8px; +} + +#portfolio-nav ul { + left: 0; + right: auto; +} + +#portfolio-nav .controls { + right: 0; + left: auto; + margin: 0 +} + +#page-header-bg #portfolio-nav { + z-index: auto; +} + +.page-template-template-portfolio-php .portfolio-filters { + position: absolute; + margin-top: 0; + top: 5px; + z-index: 1000; +} + +.portfolio-filters { + position: relative; + margin-top: 30px; +} + +.portfolio-filters ul { + margin: 0; +} + +#ajax-content-wrap .portfolio-filter-clear { + padding: 0; + margin: 0; +} + +#portfolio-nav { + position: absolute; +} + +.portfolio-filters { + width: 200px; + float: right; + display: block; + margin-bottom: 33px; + background-color: #27ccc0; +} + +body .portfolio-filters { + display: block; + height: auto; +} + +body .portfolio-filters li, +body .portfolio-filters-inline li { + list-style: none; +} + +.portfolio-filters-inline[data-alignment="center"] .container > ul { + float: none; + width: 100%; + max-width: none; + margin-right: 0; + text-align: center; +} + +.portfolio-filters-inline[data-alignment="left"] .container > ul { + float: none; + width: 100%; + max-width: none; + margin-right: 0; + text-align: left; +} + +.portfolio-filters-inline[data-alignment="left"].fullwidth-constrained .container.normal-container, +.portfolio-filters-inline[data-alignment="right"].fullwidth-constrained .container.normal-container, +.portfolio-filters-inline[data-alignment="default"].fullwidth-constrained .container.normal-container { + padding-left: 0; + padding-right: 0; +} + +#ajax-content-wrap .portfolio-filters-inline[data-alignment="left"] .container > ul > li:first-child > a { + margin-left: 0; + padding-left: 0; +} + +.span_12.light .portfolio-filters-inline[data-color-scheme*="-underline"] #current-category { + color: #fff; +} + +.span_12.dark .portfolio-filters-inline[data-color-scheme*="-underline"].full-width-section a { + color: #000; + color: rgba(0,0,0,0.6); +} +.span_12.dark .portfolio-filters-inline[data-color-scheme*="-underline"].full-width-section .active, +.span_12.dark .portfolio-filters-inline[data-color-scheme*="-underline"].full-width-section a:hover { + color: #000; + color: rgba(0,0,0,1); +} + +#ajax-content-wrap .portfolio-filters-inline[data-color-scheme*="-underline"] a { + position: relative; + padding-left: 0; + padding-right: 0; + margin-left: 10px; + margin-right: 10px; +} +.portfolio-filters[data-color-scheme*="-underline"] ul a { + position: relative; +} + +.portfolio-filters-inline[data-color-scheme*="-underline"] a:after, +.portfolio-filters[data-color-scheme*="-underline"] > ul li a:after { + content: ""; + transition: 0.35s all ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + position: absolute; + left: 50%; + height: 2px; + width: 0; + background-color: #fff; + bottom: 0; + -ms-transform: translateX(-50%); + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} + +.portfolio-filters[data-color-scheme*="-underline"] > ul li a:after { + left: 0; + transform: none; + -webkit-transform: none; + -ms-transform: none; +} + +body:not(.using-mobile-browser) .portfolio-filters-inline[data-color-scheme*="-underline"] a:hover:after, +.portfolio-filters-inline[data-color-scheme*="-underline"] .active:after, +body:not(.using-mobile-browser) .portfolio-filters[data-color-scheme*="-underline"] a:hover:after { + width: 100%; +} + +.portfolio-filters li li a { + padding-left: 25px; +} + +#portfolio-nav .controls { + float: right; +} + +.portfolio-filters > ul { + display: none; + width: 100%; + position: absolute; + z-index: 100; + padding-left: 0; +} +.portfolio-filters > ul ul { + padding-left: 0; +} + +.portfolio-filters ul li a { + color: #fff; + color: rgba(255, 255, 255, 0.7); +} + +.portfolio-filters ul li a span, +.portfolio-filters-inline ul li a span, +.portfolio-filters-inline #sort-portfolio span span, +.portfolio-filters #sort-portfolio span span { + visibility: hidden; + position: absolute; + text-indent: -9999px; +} + +.portfolio-filters a { + display: block; + font-size: 12px; + line-height: 22px; + padding: 9px 15px 10px 15px; + color: #fff; + -webkit-transition: all 0.2s linear; + transition: all 0.2s linear; + background-color: #000; + border-top: 1px dotted rgba(255, 255, 255, 0.3); +} + +body .portfolio-filters-inline { + margin-top: 0; + z-index: 100; + height: auto; + padding-top: 19px; + padding-bottom: 19px; + background-color: #252525; + -webkit-backface-visibility: hidden; +} +body .portfolio-filters-inline, +body .wpb_wrapper > .portfolio-filters-inline { + margin-bottom: 0; +} + +body .portfolio-filters-inline.first-section { + padding-top: 50px; +} + +body .container-wrap .portfolio-filters-inline.non-fw { + padding-top: 33px; + padding-bottom: 33px; + background-color: transparent; +} + +.span_12.dark .portfolio-filters-inline[data-color-scheme*="-underline"].full-width-section { + background-color: transparent; +} + +body .portfolio-filters-inline.nder-page-header.first-section.non-fw { + padding-top: 33px; +} + +body .portfolio-filters-inline.non-fw.first-section { + padding-top: 70px; +} + +.portfolio-filters-inline .clear { + padding: 0; +} + +.portfolio-filters-inline ul li, +.portfolio-filters-inline ul ul { + display: inline; +} + +.portfolio-filters-inline ul { + line-height: 22px; +} + +.portfolio-filters-inline ul { + margin: 0; + text-align: right; +} + +.portfolio-filters-inline #current-category { + width: 25%; +} + +.portfolio-filters-inline .container > ul { + max-width: 72%; + margin-right: -7px; +} + +.portfolio-filters-inline ul ul { + margin-left: 0; +} + +.portfolio-filters-inline #current-category { + padding-left: 0; + float: left; +} + +.portfolio-filters-inline .container > ul { + float: right; +} + +.portfolio-filters-inline .container > ul > li:last-child a { + border: none; +} + +.portfolio-filters-inline .container > ul a, +.portfolio-filters-inline .container > ul #sort-label { + padding: 0 10px; + margin: 7px 0; + font-size: 14px; + font-weight: 600; + line-height: 14px; + display: inline-block; +} + +.portfolio-filters-inline .container > ul #sort-label { + border: none; + padding-right: 20px; +} + +.portfolio-filters-inline #current-category { + color: #eee; + font-family: 'Open Sans'; + font-weight: 300; + font-size: 20px; + letter-spacing: 0; + line-height: 20px; + position: relative; + text-transform: none; + top: 4px; +} + +.portfolio-filters-inline .container > ul #sort-label { + color: #eee; +} + +.portfolio-filters-inline ul li a { + color: #999; +} + +.portfolio-filters-inline ul li a:hover { + color: #eee; +} + +.portfolio-filters-inline.non-fw #current-category, +.portfolio-filters-inline.non-fw .container > ul #sort-label { + color: #888!important; +} + +.portfolio-filters-inline.non-fw ul li a:hover { + color: #333; +} + +.portfolio-filters-inline:not([data-color-scheme="default"]) .container > ul #sort-label { + display: none; +} + +.portfolio-filters-inline:not([data-color-scheme="default"]) #current-category, +.portfolio-filters-inline:not([data-color-scheme="default"]) ul li a { + color: #fff; + padding: 7px 10px; + transition: background-color 0.15s linear, color 0.15s linear; +} + + +.portfolio-filters-inline:not([data-color-scheme="default"]) ul li a { + color: #fff; + color: rgba(255,255,255,0.75); +} + +.portfolio-filters-inline:not([data-color-scheme="default"]) .container ul li .active { + color: #fff; + color: rgba(255,255,255,1)!important; + padding: 7px 10px; +} + +.portfolio-filters-inline:not([data-color-scheme="default"]) .container ul li a:hover { + color: #fff; + color: rgba(255,255,255,1); +} + +.portfolio-filters-inline[data-color-scheme*="-color"]:not(.full-width-content) .container ul li a, +.portfolio-filters-inline[data-color-scheme*="-color"]:not(.full-width-content) .container ul li a:hover, +.portfolio-filters-inline[data-color-scheme*="-color"]:not(.full-width-content) .container ul li .active { + color: #000; +} + +.span_12.light .portfolio-filters-inline[data-color-scheme*="-color"]:not(.full-width-content) .container ul li a, +.span_12.light .portfolio-filters-inline[data-color-scheme*="-color"]:not(.full-width-content) .container ul li a:hover, +.span_12.light .portfolio-filters-inline[data-color-scheme*="-color"]:not(.full-width-content) .container ul li .active { + color: #fff; +} + +.portfolio-filters-inline[data-color-scheme*="-color"]:not([data-color-scheme*="-underline"]).full-width-section ul li a { + color: #fff; + color: rgba(255,255,255,0.75); +} +.portfolio-filters-inline[data-color-scheme*="-color"]:not([data-color-scheme*="-underline"]).full-width-section #current-category, +.portfolio-filters-inline[data-color-scheme*="-color"]:not([data-color-scheme*="-underline"]).full-width-section ul li a:hover { + color: #fff; +} + +.portfolio-filters-inline[data-color-scheme="black"] { + background-color: #0f1012; +} + +.portfolio-filters-inline[data-color-scheme="black"] .container ul li .active { + color: #fff!important; + background-color: rgba(255,255,255,0.15); +} +body[data-permanent-transparent="1"] .portfolio-filters-inline.fixed #current-category { + display: none; +} + +.portfolio-items .col .inner-wrap[data-animation="fade_in"], +.portfolio-items:not(.carousel) .col .inner-wrap.animated { + opacity:0; + -webkit-transition:opacity 0.5s ease-out; + transition:opacity 0.5s ease-out; +} + +.portfolio-items[data-loading="lazy-load"] .col .inner-wrap.animated .top-level-image { + transition:opacity 0.5s ease, transform .5s ease; + opacity:0; +} +.portfolio-items[data-loading="lazy-load"] .col .inner-wrap:not(.animated) .top-level-image { + opacity:1; + transition:opacity 0.5s ease, transform .5s ease; +} + +.portfolio-items:not(.carousel) .col .inner-wrap[data-animation="fade_in_from_bottom"] { + -webkit-transition:opacity 0.3s cubic-bezier(0.3,0.58,0.55,1),-webkit-transform 0.3s cubic-bezier(0.3,0.58,0.55,1); + transition:opacity 0.3s cubic-bezier(0.3,0.58,0.55,1),transform 0.3s cubic-bezier(0.3,0.58,0.55,1); + -webkit-transform:translateY(80px); + transform:translateY(80px); +} + +#sort-portfolio { + position: relative; + border-top: 0!important; +} + +#sort-portfolio span { + font-family: 'Open Sans'; + font-weight: 400; + display: block; + font-size: 12px; + line-height: 21px; + padding-left: 0; + color: #fff; +} + +#sort-portfolio i { + font-size: 12px; + position: absolute; + right: 13px; + top: 13px; + height: 14px; + line-height: 14px; + background-color: transparent; +} + +.portfolio-filters #sort-portfolio { + background-color: #000; + padding-right: 40px; + min-width: 160px; + border-radius: 2px; +} + +.portfolio-filters a:hover { + color: #fff; + color: rgba(255, 255, 255, 1); +} + +.portfolio-filters:hover #sort-portfolio { + color: #fff; + color: rgba(255, 255, 255, 1); + border-radius: 2px 2px 0 0; +} + +.page-template-template-portfolio-php .portfolio-items .col.span_6 img, +.tax-project-type .portfolio-items .col.span_6 img, +.tax-project-attributes .portfolio-items .col.span_6 img { + width: 100%; +} + +.page-template-template-portfolio-php .page-header-no-bg .section-title { + border-bottom: 0; + z-index: 100; +} + +#page-header-bg #portfolio-nav ul, +.section-title #portfolio-nav ul { + margin-left: 0; +} + +#portfolio-nav #all-items a { + cursor: pointer; + display: inline-block; + float: left; + margin: 0 10px 0 0; + position: relative; + background-position: 11px center; + background-repeat: no-repeat; + -webkit-transition: all 0.2s linear; + transition: all 0.2s linear; +} + +#portfolio-nav #all-items a i { + line-height: 34px; + font-size: 30px; + background-color: transparent; +} + +#portfolio-nav li { + float: left; + list-style: none; +} + +#portfolio-nav #prev-link a, +#portfolio-nav #next-link a { + color: #888; + cursor: pointer; + display: inline-block; + float: left; + margin: 0 10px 0 0; + position: relative; + text-transform: capitalize; + background-repeat: no-repeat; + -webkit-transition: all 0.2s linear; + transition: all 0.2s linear; + text-align: center; +} + +#portfolio-nav #prev-link a { + background-position: 13px center; + padding: 1px 0; +} + +#portfolio-nav #next-link a { + padding: 1px 0; + margin-right: 0; + background-position: -20px center; +} + +#portfolio-nav a i, +#portfolio-nav a i { + background-color: transparent; + font-size: 30px; + line-height: 34px; + color: #888; + -webkit-transition: color 0.2s linear, opacity 0.2s linear; + transition: color 0.2s linear, opacity 0.2s linear; +} + +#portfolio-nav #next-link a i, +#portfolio-nav #prev-link a i { + font-size: 32px; +} + +.parallax-effect #portfolio-nav #next-link a i, +.parallax-effect #portfolio-nav #prev-link a i { + -webkit-transform: translateZ(0px); + transform: translateZ(0px); +} + +body #portfolio-nav a:hover { + background-color: transparent; +} + +.salient-portfolio-pagination > span { + border-radius: 200px; + transition: all .45s cubic-bezier(0.25, 1, 0.33, 1); + background-color: #000; + color: #fff; + text-align: center; + height: 36px; + width: 36px; + box-shadow: 0 6px 15px rgba(0,0,0,0.16); + display: inline-block; +} + +.salient-portfolio-pagination > a { + padding-left: 10px; + padding-right: 10px; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:hover h3, +.blog_next_prev_buttons[data-style="fullwidth_next_prev"] .next-post:hover h3 { + -webkit-transform: translateX(-40px) translateZ(0); + transform: translateX(-40px) translateZ(0); + backface-visibility: hidden; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:hover h3, +.blog_next_prev_buttons[data-style="fullwidth_next_prev"] .previous-post:hover h3 { + transform: translateX(40px) translateZ(0); + backface-visibility: hidden; +} + +body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project.mouse-leaving h3 .text .line { + animation: rightLineEnd 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) forwards; +} + +body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project.mouse-leaving h3 .text .line { + animation: rightLineEnd2 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) forwards; +} + +body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:hover h3 .text .line, +.portfolio-items[data-ps="8"] .col:hover .line { + -webkit-transform: translateY(-50%) translateX(0px) scaleX(1); + -webkit-transform-origin: left; + transform: translateY(-50%) translateX(0px) scaleX(1); + transform-origin: left; + animation: rightLineStart 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) forwards; +} + +body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:hover h3 .text .line { + -webkit-transform: translateY(-50%) translateX(0px) scaleX(1); + -webkit-transform-origin: right; + transform: translateY(-50%) translateX(0px) scaleX(1); + transform-origin: right; + animation: rightLineStart2 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) forwards; +} + +.portfolio-items[data-ps="8"] .col:hover .line { + transform-origin: left; + animation: portRightLineStart 0.4s cubic-bezier(0.05, 0.15, 0.1, 1) forwards; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project h3 .next-arrow, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3 .next-arrow, +.portfolio-items[data-ps="8"] .next-arrow { + position: absolute; + backface-visibility: hidden; + right: -43px; + top: 50%; + margin-top: -15px; + height: 30px; + width: 40px; + display: block; + transform: translateX(38px); +} +body .portfolio-items[data-ps="8"] .next-arrow { + right: 60px; + left: auto; + top: auto; + bottom: -3px; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project.mouse-leaving h3 .next-arrow { + animation: rightArrowEnd2 0.7s cubic-bezier(0, 0.2, 0.1, 1) forwards; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project.mouse-leaving h3 .next-arrow { + animation: rightArrowEnd 0.7s cubic-bezier(0, 0.2, 0.1, 1) forwards; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3 .next-arrow { + -webkit-transform: translateX(38px) rotate(180deg); + transform: translateX(38px) rotate(180deg); + left: -43px; + right: auto; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:hover h3 .next-arrow { + animation: rightArrowStart 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) forwards; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:hover h3 .next-arrow { + animation: rightArrowStart2 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) forwards; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:hover h3 .next-arrow, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:hover h3 .next-arrow { + -webkit-transform: translateX(42px); + transform: translateX(42px); +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav { display: block;} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul .previous-project, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul .next-project { + width: 50%; + line-height: 0; + height: auto; + padding: 6%; + min-height: 300px; + -webkit-justify-content: center; + justify-content: center; + display: -webkit-flex; + display: flex; + -moz-box-align: center; + -moz-box-pack: center; + align-items: center; + -webkit-align-items: center; + float: none; + overflow: hidden; + position: relative; + background-color: #333; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls ul { + padding-left: 0; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:after, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:after { + background-color: rgba(13,13,13,0.35); + position: absolute; + left: 0; + top: 0; + content: ''; + display: block; + z-index: 1; + width: 100%; + height: 100%; + -webkit-transition: background-color 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) 0s; + transition: background-color 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) 0s; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:hover:after, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:hover:after { + background-color: rgba(13,13,13,0.9); +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .container { + max-width: none; + width: 100%; + padding: 0; +} +#boxed .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .container { + width: 100%; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav, +body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .container{ + height: auto; + line-height: 0; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul { + display: -webkit-flex; + display: flex; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + width: 100%; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls { + padding-top: 0; + padding-bottom: 0; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .controls li a, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul:first-child li a { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 101; + display: block; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .controls > .only { + width: 100%!important; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .controls > .hidden { + display: none!important; +} + +@keyframes rightArrowStart { + 0% { transform: translateX(-50px); } + 100% { transform: translateX(42px); } +} + +@keyframes rightArrowEnd { + 0% { transform: translateX(42px); } + 100% { transform: translateX(75px); } +} + +@keyframes rightArrowStart2 { + 0% { transform: translateX(50px) rotate(180deg); } + 100% { transform: translateX(-42px) rotate(180deg); } +} + +@keyframes rightArrowEnd2 { + 0% { transform: translateX(-42px) rotate(180deg); } + 100% { transform: translateX(-75px) rotate(180deg); } +} + +@keyframes portRightLineStart { + 0% { transform: translateY(-50%) translateX(-25px) scaleX(0); } + 100% { transform: translateY(-50%) translateX(0px) scaleX(1); } +} + +@keyframes rightLineStart { + 0% { transform: translateY(-50%) translateX(-88px) scaleX(0); } + 100% { transform: translateY(-50%) translateX(0px) scaleX(1); } +} + +@keyframes rightLineEnd { + 0% { transform: translateY(-50%) translateX(0px) scaleX(1); } + 100% { transform: translateY(-50%) translateX(28px) scaleX(0); } +} + +@keyframes rightLineStart2 { + 0% { transform: translateY(-50%) translateX(88px) scaleX(0); } + 100% { transform: translateY(-50%) translateX(0px) scaleX(1); } +} + +@keyframes rightLineEnd2 { + 0% { transform: translateY(-50%) translateX(0px) scaleX(1); } + 100% { transform: translateY(-50%) translateX(-28px) scaleX(0); } +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls { + background-color: transparent; +} + +.single-portfolio .container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls { + padding-top: 0; + padding-bottom: 0; + margin-top: 0; +} + +.single-portfolio .container-wrap[data-nav-pos="after_project_next_only"] .next-project.hidden { + padding: 0!important; +} +.single-portfolio .container-wrap[data-nav-pos="after_project_next_only"] .next-project:not(.hidden) { + margin-top: 5%; + margin-bottom: 5%; +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls #portfolio-nav .controls li a, +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .proj-bg-img, +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .parallax-layer, +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .parallax-layer-wrap, +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .parallax-layer-wrap:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 101; + display: block; +} +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .parallax-layer-wrap:after { + background-color: rgba(0,0,0,.4); + content: ''; +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls { + overflow: hidden; +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .parallax-layer, +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .parallax-layer-wrap { + bottom: 0; + top: auto; + z-index: -1; +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .proj-bg-img { + background-size: cover; + z-index: -1; + background-position: center; + transition: transform 0.6s ease; +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .controls .next-project { + position: relative; + padding: 10%; +} +@media only screen and (max-width: 690px) { + [data-nav-pos="after_project_next_only"] .bottom_controls #portfolio-nav .controls span { + display: block; + } + .container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .controls .next-project { + padding: 15%; + } +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .parallax-layer-wrap { + transition: transform 0.6s ease; + overflow: hidden; +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .controls .next-project:hover .parallax-layer-wrap { + transform: scale(0.95); +} + +.container-wrap[data-nav-pos="after_project_next_only"] .controls li:first-child, +.container-wrap[data-nav-pos="after_project_next_only"] #portfolio-nav .controls li svg { + display: none; +} + +.container-wrap[data-nav-pos="after_project_next_only"] .controls li.only:first-child { + display: block; + height: auto!important; + margin-top: 5%; + margin-bottom: 5%; + padding: 10%; + position: relative; + width: 100%; +} +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .controls .previous-project.only:hover .parallax-layer-wrap { + transform: scale(0.95); +} + +.container-wrap[data-nav-pos="after_project_next_only"] .bottom_controls .container, +.container-wrap[data-nav-pos="after_project_next_only"] #portfolio-nav, +.container-wrap[data-nav-pos="after_project_next_only"] #portfolio-nav .controls li.next-project { + float: none; + height: auto; +} +.container-wrap[data-nav-pos="after_project_next_only"] #portfolio-nav .controls h3 { + line-height: 1.1; + margin-bottom: 0; + color: #fff; +} + +.container-wrap[data-nav-pos="after_project_next_only"] #portfolio-nav .controls h3 .text { + font-size: max(min(4.4vw,85px),50px); + line-height: 1.1; + margin-top: 0.2em; + display: block; +} +@media only screen and (max-width: 690px) { + .container-wrap[data-nav-pos="after_project_next_only"] #portfolio-nav .controls h3 { + font-size: 20px; + } + .container-wrap[data-nav-pos="after_project_next_only"] #portfolio-nav .controls h3 .text { + font-size: 36px; + } +} + + +.portfolio-items[data-ps="8"] .line { + height: 2px; + width: 45px; + background-color: #fff; + position: absolute; + content: ''; + right: -74px; + display: block; + backface-visibility: hidden; + top: 50%; + -webkit-transform: translateY(-50%) translateX(28px) scaleX(0); + -webkit-transform-origin: right; + transform: translateY(-50%) translateX(28px) scaleX(0); + transform-origin: right; +} + +body .portfolio-items[data-ps="8"] .line, +.portfolio-items[data-ps="8"] .col .work-info .vert-center .line { + right: 32px; + left: auto; + bottom: 10px; + top: auto; + -webkit-transition: none; + transition: none; + width: 37px; +} + +body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3 .text .line { + -webkit-transform: translateY(-50%) translateX(-28px) scaleX(0); + -webkit-transform-origin: left; + transform: translateY(-50%) translateX(-28px) scaleX(0); + transform-origin: left; + left: -74px; + right: auto; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project h3 .next-arrow line, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3 .next-arrow line, +.portfolio-items[data-ps="8"] line { + stroke-width: 2px; + stroke-dasharray: 10px; + stroke-dashoffset: 30px; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project h3 .next-arrow line, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3 .next-arrow line, +.portfolio-items[data-ps="8"] line { + stroke: #ffffff; +} +.portfolio-items[data-ps="8"] line, +.portfolio-items[data-ps="8"] .col .work-info .vert-center line { +-ms-transition: none; + -webkit-transition: none; + transition: none; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project.mouse-leaving h3 .next-arrow line, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project.mouse-leaving h3 .next-arrow line{ + animation: rightArrowLineEnd 0.4s cubic-bezier(0.3, 0.2, 0.1, 1) 0.25s forwards; + stroke-dashoffset: 40px; +} + +body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:hover .next-arrow line, +body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:hover .next-arrow line { + animation: rightArrowLineStart 0.3s cubic-bezier(0.05, 0.2, 0.1, 1) 0.1s forwards; + stroke-dashoffset: 30px; +} +.portfolio-items[data-ps="8"] .col:hover line { + animation: rightArrowLineStart 0.48s cubic-bezier(0.05, 0.2, 0.1, 1) 0.12s forwards; + stroke-dashoffset: 30px; +} + + +@keyframes rightArrowLineStart { + 0% { stroke-dashoffset: 30px; } + 100% { stroke-dashoffset: 40px; } +} + +@keyframes rightArrowLineEnd { + 0% { stroke-dashoffset: 40px; } + 100% { stroke-dashoffset: 50px; } +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project h3, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3 { + display: inline-block; + -webkit-transform: translateX(0px) translateZ(0); + -webkit-transition: transform 0.4s cubic-bezier(0.05, 0.2, 0.1, 1); + transform: translateX(0px) translateZ(0); + transition: transform 0.4s cubic-bezier(0.05, 0.2, 0.1, 1); +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project span:not(.text) { + display: block; + font-size: 14px; + text-align: left; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project span:not(.text) { + display: block; + font-size: 14px; + text-align: right; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project h3, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project span, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3, +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project span{ + color: #fff; + position: relative; + z-index: 100; +} + +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls .proj-bg-img { + width: 100%; + position: absolute; + left: 0; + top: 0; + background-size: cover; + background-position: center; + height: 100%; + -ms-transition: transform 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) 0s; + -webkit-transition: transform 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) 0s; + transition: transform 0.4s cubic-bezier(0.05, 0.2, 0.1, 1) 0s; +} +.container-wrap[data-nav-pos="after_project_2"] .bottom_controls li:hover .proj-bg-img, +.blog_next_prev_buttons[data-style="fullwidth_next_prev"] li:hover .post-bg-img { + -webkit-transform: scale(1.1); + transform: scale(1.1); +} + + + + +/*-------------------------------------------------------------------------*/ +/* 3. Project Styles +/*-------------------------------------------------------------------------*/ + +.portfolio-items .col .work-item.style-3 .work-info-bg { + background-color: #282b30; + opacity: 0.45; +} + +.portfolio-items .col .work-item.style-3 img, +.portfolio-items .col .work-item.style-3-alt img { + -ms-transition: transform 0.38s cubic-bezier(0.05, 0.2, 0.1, 1) 0s; + -webkit-transition: transform 0.38s cubic-bezier(0.05, 0.2, 0.1, 1) 0s; + transition: transform 0.38s cubic-bezier(0.05, 0.2, 0.1, 1) 0s; +} + +.portfolio-items .col .work-item.style-3:hover img, +.portfolio-items .col .work-item.style-3-alt:hover img { + -webkit-transform: scale(1.12); + transform: scale(1.12); +} + +.portfolio-items .col .work-item.style-3 h3, +.portfolio-items .col .work-item.style-3-alt h3 { + margin-bottom: 5px; +} + +.portfolio-items .col .work-item.style-3 a:not(.nectar-sharing), +.portfolio-items .col .work-item.style-3-alt a:not(.nectar-sharing) { + background: transparent url('../img/transparent.png') repeat 0 0; +} + +.portfolio-items .col .work-item.style-3 .vert-center h3, +.portfolio-items .work-item.style-3 .work-info, +.portfolio-items .col .work-item.style-3-alt .vert-center h3, +.portfolio-items .work-item.style-3-alt .work-info { + opacity: 1; +} + +.portfolio-items .auto-height { + height: auto!important; +} + +.portfolio-items .work-item.style-3 .vert-center p, +.portfolio-items .work-item.style-3-alt .vert-center p { + display: inline-block; + margin-top: 0; + opacity: 1; + position: relative; + font-size: 12px; + line-height: 12px; +} + +.portfolio-items .col .work-item.style-3-alt > a { + position: absolute; + display: block; + width: 100%; + height: 100%; + left: 0; + top: 0; + z-index: 40; +} + +.portfolio-items .col:not([data-subtitle-color*="#"]) .work-item.style-3 .vert-center p, +.portfolio-items .col:not([data-subtitle-color*="#"]) .work-item.style-3-alt .vert-center p { + color: #fff; + color: rgba(255,255,255,0.8); +} + +.portfolio-items .work-item.style-3-alt p { + font-size: inherit; + line-height: inherit; +} + +.portfolio-items .col .work-item.style-3 .vert-center, +.portfolio-items .col .work-item.style-3-alt .vert-center, +.portfolio-items .col .work-item.style-2[data-custom-content="on"] .vert-center { + top: 50%; + left: 50%; + position: relative; + z-index: 20; + width: auto; + display: inline-block; + margin-top: 0; + padding-top: 0; + -webkit-transform: translateY(-50%) translateX(-50%) translateZ(0); + transform: translateY(-50%) translateX(-50%) translateZ(0); +} + +.portfolio-items[data-ps="8"] .col .work-item.style-2[data-custom-content="on"] .vert-center { + -webkit-transform: none; + transform: none; + width: 100%; + left: 0; + top: 0; + padding-left: 0; +} + +.portfolio-items .col.tall .work-item.style-3[data-text-align="top"] .vert-center, +.portfolio-items .col.tall .work-item.style-3-alt[data-text-align="top"] .vert-center { + top: 25%; +} +.portfolio-items .col.tall .work-item.style-3[data-text-align="bottom"] .vert-center, +.portfolio-items .col.tall .work-item.style-3-alt[data-text-align="bottom"] .vert-center { + top: 75%; +} + +.portfolio-items .col.wide .work-item.style-3[data-text-align="left"] .vert-center, +.portfolio-items .col.wide .work-item.style-3-alt[data-text-align="left"] .vert-center { + left: 25%; + margin-left: -20px; +} +.portfolio-items .col.wide .work-item.style-3[data-text-align="right"] .vert-center, +.portfolio-items .col.wide .work-item.style-3-alt[data-text-align="right"] .vert-center { + left: 75%; +} + +.portfolio-items .work-item.style-4 .bottom-meta { + position: absolute; + left: 0; + bottom: 0; + padding: 20px 20px 16px 20px; + width: 100%; +} + +.portfolio-items .work-item.style-4 .bottom-meta h3 { + margin-bottom: 0; +} + +.portfolio-items .work-item.style-4 .bottom-meta p { + color: #fff; + color: rgba(255,255,255,0.8); +} + +.portfolio-items .work-item.style-4 .work-info { + opacity: 1; +} + +body .portfolio-items .col .work-item.style-3, +body .portfolio-items .col .work-item.style-4, +body .portfolio-items .col .work-item.style-3-alt { + overflow: hidden; +} + +.portfolio-items .elastic-portfolio-item .work-item.style-3, +.portfolio-items .elastic-portfolio-item .work-item.style-4, +.portfolio-items .elastic-portfolio-item .work-item.style-3-alt { + width: 100%; +} + +.portfolio-items .elastic-portfolio-item .work-item.style-3 img, +.portfolio-items .elastic-portfolio-item .work-item.style-4 img, +.portfolio-items .elastic-portfolio-item .work-item.style-3-alt img { + width: 100%; +} + +.portfolio-items .work-item.style-3 img, +.portfolio-items .work-item.style-4 img, +.portfolio-items .work-item.style-3-alt img { + position: relative; +} + +.portfolio-items .work-item.style-3, +.portfolio-items .work-item.style-3-alt { + overflow: visible; +} + +.portfolio-items[data-ps="3"] .inner-wrap, +.portfolio-items[data-ps="5"] .inner-wrap { + overflow: hidden; +} + +.portfolio-items .col .work-item.style-2, +.portfolio-items .col .work-item.style-3, +.portfolio-items .col .work-item.style-4, +.portfolio-items .col .work-item.style-3-alt { + margin-bottom: 0; +} + +.portfolio-items .work-info-bg { + opacity: 0; + height: 100%; + width: 100.2%; + top: 0; + left: 0; + background-color: #000; + position: absolute; + z-index: 2; + transition: all 0.4s cubic-bezier(.15,.75,.5,1) 0s; + -webkit-transition: all 0.4s cubic-bezier(.15,.75,.5,1) 0s; +} + +.portfolio-items .style-3 .work-info-bg { + transition: all 0.35s cubic-bezier(.15,.75,.5,1) 0s; + -webkit-transition: all 0.35s cubic-bezier(.15,.75,.5,1) 0s; +} + +.portfolio-items .work-info { + opacity: 0; + position: absolute; + z-index: 10; + padding: 0 20px; + height: 100%; + width: 100%; + top: 0; + left: 0; + color: #fff; + transition: all 0.2s ease; + -webkit-transition: all 0.2s ease; +} + +.portfolio-items .work-item[data-custom-content="on"] .work-info { + padding: 0 40px; +} + +.portfolio-items .work-item[data-custom-content="on"] .work-info { + opacity: 1; +} + +.portfolio-items .col { + height: 100%; + -webkit-transition-timing-function: cubic-bezier(.16,.85,.45,1); + transition-timing-function: cubic-bezier(.16,.85,.45,1); +} + +.page-template-template-portfolio-php[data-bg-header="false"] .container-wrap { + padding-top: 0; +} + +.portfolio-items.fullwidth-constrained { + margin: 0; +} + +.portfolio-items.carousel .col { + background-color: transparent; +} + +.recent-work-carousel .portfolio-items.carousel .work-item:not([class*="style"]):hover .work-info, +.recent-work-carousel .portfolio-items.carousel .work-item:not([class*="style"]):hover .work-info .vert-center > * { + opacity: 1; +} +@media only screen and (max-width: 1000px) { + .recent-work-carousel .portfolio-items.carousel .work-item:not([class*="style"]):hover .work-info .vert-center > a.default-link { + opacity: 0; + } +} + +.recent-work-carousel .portfolio-items.carousel .work-item:not([class*="style"]):hover .work-info-bg { + opacity: 0.9; +} +.recent-work-carousel .portfolio-items.carousel .work-item:not([class*="style"]):hover .vert-center { + margin-top: 0; +} + +.portfolio-items[data-ps="2"] .col, +.portfolio-items[data-ps="3"] .col, +.portfolio-items[data-ps="4"] .col, +.portfolio-items[data-ps="5"] .col, +.portfolio-items[data-ps="6"] .col { + background-color: transparent; +} + +html:not(.js) .portfolio-items .col.span_3 img, +html:not(.js) .portfolio-items .col img { + opacity: 1; +} + +.portfolio-items { + perspective:2000px; + -webkit-perspective:2000px; + perspective-origin:50% 0px; + -webkit-perspective-origin:50% 700px +} +.portfolio-items:not(.carousel) .col { + -webkit-transform-style:preserve-3d; + transform-style:preserve-3d +} +.portfolio-items:not(.carousel) .col .inner-wrap[data-animation="perspective"].animated { + -webkit-transition:opacity 0.3s cubic-bezier(0.1,0.3,0.2,1),-webkit-transform 0.72s cubic-bezier(0.1,0.3,0.27,1); + transition:opacity 0.3s cubic-bezier(0.1,0.3,0.2,1),transform 0.72s cubic-bezier(0.1,0.3,0.27,1); + -webkit-transform:translateY(450px) rotateX(24deg); + transform:translateY(450px) rotateX(24deg); +} +.portfolio-items[data-ps="8"]:not(.carousel) .col .inner-wrap[data-animation="perspective"].animated .vert-center p{ + opacity:0; + -webkit-transform:translateY(-130px); + transform:translateY(-130px); + -webkit-transition:opacity 0.3s cubic-bezier(0.1,0,.3 0.2,1) 0.23s,-webkit-transform 0.72s cubic-bezier(0.1,0.3,0.27,1); + transition:opacity 0.3s cubic-bezier(0.1,0.3,0.2,1) 0.23s,transform 0.72s cubic-bezier(0.1,0.3,0.27,1); +} +.portfolio-items[data-ps="8"]:not(.carousel) .col .inner-wrap[data-animation="perspective"].animated .vert-center h3{ + opacity:0; + -webkit-transform:translateY(-130px); + transform:translateY(-130px); + -webkit-transition:opacity 0.3s cubic-bezier(0.1,0,.3 0.2,1) 0.23s,-webkit-transform 0.72s cubic-bezier(0.1,0.3,0.27,1); + transition:opacity 0.3s cubic-bezier(0.1,0.3,0.2,1) 0.23s,transform 0.72s cubic-bezier(0.1,0.3,0.27,1); +} + +.portfolio-items[data-ps="6"]:not(.carousel) .col .inner-wrap[data-animation="none"] { + transform: translateZ(0); +} + + +body .portfolio-items:not(.carousel) .col.animated-in .inner-wrap { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + height: 100%; +} + +.portfolio-items:not(.carousel) .col.animated-in .inner-wrap { + -webkit-transform: translateY(0) translateZ(0); + transform: translateY(0) translateZ(0); +} + +.portfolio-items:not(.carousel) .col.animated-in .inner-wrap[data-animation="perspective"] { + -webkit-transform: translateY(0) translateZ(0) rotateX(0); + transform: translateY(0) translateZ(0) rotateX(0); + opacity: 1; +} + +.portfolio-items[data-ps="8"]:not(.carousel) .col.animated-in .inner-wrap[data-animation="perspective"].animated .vert-center p, +.portfolio-items[data-ps="8"]:not(.carousel) .col.animated-in .inner-wrap[data-animation="perspective"].animated .vert-center h3 { + opacity: 1; + -webkit-transform: translateY(0px) rotateX(0deg); + transform: translateY(0px) rotateX(0deg); +} + +.portfolio-items .col.ajax-loaded { + transition: none!important; + -webkit-transition: none!important; +} + +.carousel.portfolio-items .col img, +.carousel.portfolio-items .col .work-meta, +.carousel.portfolio-items .col .nectar-love-wrap, +.carousel.portfolio-items .work-item { + opacity: 1; +} + +body .portfolio-items .col { + height: auto; +} + +.portfolio-items[data-ps="7"] .col img { + -ms-transition: transform 1s cubic-bezier(0, 1, 0.5, 1); + -webkit-transition: transform 1s cubic-bezier(0, 1, 0.5, 1); + transition: transform 1s cubic-bezier(0, 1, 0.5, 1); +} + +.portfolio-items[data-ps="7"] .col { background-color: transparent; } + +.portfolio-items[data-ps="7"] .col .work-info .vert-center { + margin: 0; + -webkit-transition: transform 1s cubic-bezier(0, 1, 0.5, 1), opacity 1s cubic-bezier(0, 1, 0.5, 1); + transition: transform 1s cubic-bezier(0, 1, 0.5, 1), opacity 1s cubic-bezier(0, 1, 0.5, 1); + -webkit-transform: translateY(-50%) perspective(1px) scale(0.8) translateZ(0); + transform: translateY(-50%) perspective(1px) scale(0.8) translateZ(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + opacity: 0; +} +.portfolio-items[data-ps="7"] .col .work-info-bg { + -webkit-transition: opacity 1s cubic-bezier(0, 1, 0.5, 1); + transition: opacity 1s cubic-bezier(0, 1, 0.5, 1); +} +.portfolio-items[data-ps="7"] .col:hover .work-info-bg { + opacity: 0.8; +} +.portfolio-items[data-ps="7"] .col .work-info .vert-center *, +.portfolio-items[data-ps="7"] .work-info { + opacity: 1; +} +.portfolio-items[data-ps="7"] .work-info { + padding: 0 19%; +} +.portfolio-items[data-ps="7"] .col .work-item.style-2, +.portfolio-items[data-ps="8"] .col .work-item.style-2 { + overflow: hidden; +} + +.portfolio-items[data-ps="7"] .col[data-default-color="true"] .work-item:not(.style-3) .work-info-bg, +.portfolio-items[data-ps="8"] .col[data-default-color="true"] .work-item:not(.style-3) .work-info-bg { + background-color: #000!important; +} + +.portfolio-items[data-ps="7"] .col:hover img { + -webkit-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); +} +.portfolio-items[data-ps="7"] .col:hover .work-info .vert-center { + opacity: 1; + -webkit-transform: scale(1) perspective(1px) translateY(-50%) translateZ(0); + -ms-transform: scale(1) perspective(1px) translateY(-50%) translateZ(0); + transform: scale(1) perspective(1px) translateY(-50%) translateZ(0); +} + +.portfolio-items[data-ps="8"] .col img { + -ms-transition: transform .62s cubic-bezier(.05,.2,.1,1); + -webkit-transition: transform .62s cubic-bezier(.05,.2,.1,1); + transition: transform .62s cubic-bezier(.05,.2,.1,1); +} + +.portfolio-items[data-ps="8"] .col .work-info-bg { + -ms-transition: opacity .62s cubic-bezier(.05,.2,.1,1); + -webkit-transition: opacity .62s cubic-bezier(.05,.2,.1,1); + transition: opacity .62s cubic-bezier(.05,0.2,.1,1); +} +.portfolio-items[data-ps="8"] .col:hover img { + -webkit-transform: scale(1.11); + -ms-transform: scale(1.11); + transform: scale(1.11); +} + +body .portfolio-items[data-ps="8"] .col { + background-color: transparent; +} + +.portfolio-items[data-ps="8"] .work-info, +.portfolio-items[data-ps="8"] .col .work-info .vert-center * { + opacity: 1; +} + +.portfolio-items[data-ps="8"] .col .work-info .vert-center p { + position: relative; +} + +.portfolio-items[data-ps="8"] .col .arrow-circle:before { + font-family: 'Fontawesome'; + font-weight: normal; + font-style: normal; + text-decoration: inherit; + -webkit-font-smoothing: antialiased; + content: "\f105"; + color: #fff; + line-height: 30px; + font-size: 22px; + position: absolute; + right: 0; + width: 41px; + text-align: center; + height: 30px; + top: 50%; + margin-top: -17px; +} + +.portfolio-items[data-ps="8"] .col:hover .arrow-circle svg circle { + stroke-dashoffset: 336; + -webkit-transition: all .43s cubic-bezier(.45,0.1,.07,1); + transition: all .43s cubic-bezier(.45,0.1,.07,1); +} + +.portfolio-items[data-ps="8"] .col .work-info .vert-center .arrow-circle { + position: absolute; + bottom: 30px; + height: 45px; + -ms-transition: none; + -webkit-transition: none; + transition: none; + opacity: 0; +} +.portfolio-items[data-ps="8"] .arrow-circle svg:nth-child(1) { + -ms-transform: rotate(-90deg); + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); +} +.portfolio-items[data-ps="8"] .arrow-circle svg:nth-child(2) { + -ms-transform: rotate(90deg); + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + position: absolute; + left: 1px; + top: -1px; +} +.portfolio-items[data-ps="8"] .col:hover .work-info .vert-center .arrow-circle { + -ms-transition: all .28s cubic-bezier(.2,.2,.1,1); + transition: all .28s cubic-bezier(.2,.2,.1,1); + -webkit-transition: all .28s cubic-bezier(.2,.2,.1,1); + opacity: 1; +} + +.portfolio-items[data-ps="8"] .arrow-circle svg circle { + fill: none; + stroke: #fff; + stroke-width: 2; + stroke-linecap: round; + stroke-dasharray: 133; + stroke-dashoffset: 399; + transition: none; +} + +.portfolio-items[data-ps="8"] .col .work-info .vert-center { + text-align: left; + margin-top: 0; + bottom: 30px; + top: auto; + position: absolute; + -ms-transform: none; + -webkit-transform: none; + transform: none; + left: 0; + padding-left: 30px; + padding-right: 30px; + padding-top: 30px; +} +.portfolio-items[data-ps="8"] .col:hover .work-info-bg { + opacity: 0.55; +} +.portfolio-items[data-ps="8"] .col h3 { + font-size: 20px; + line-height: 25px; +} +.portfolio-items[data-ps="8"] .col h3, .portfolio-items[data-ps="8"] .col p { + max-width: 75%; +} + +.portfolio-items[data-ps="9"] .col { + margin-bottom: 35px; +} + +body .portfolio-items[data-ps="9"] .col { + padding: 1%; + background-color: transparent; +} + +.portfolio-items[data-ps="9"] .col .work-item { + margin-bottom: 25px; + overflow: visible; + position: static; +} + +body.material .portfolio-items[data-ps="9"] .col img { + border-radius: 5px; +} + +#ajax-content-wrap .portfolio-items[data-ps="9"] .col .work-meta { + float: none; + width: 100%; +} + +.portfolio-items[data-ps="9"] .col p { + text-transform: none; +} +.portfolio-items[data-ps="9"] .col img { + transition: all 0.3s cubic-bezier(.21, .6, .35, 1); +} +.portfolio-items[data-ps="9"] .col:hover img { + transform: translateY(-5px); + box-shadow: 0 30px 65px rgba(0,0,0,0.15); +} + +.portfolio-items .col.nectar-new-item:hover .inner-wrap:before { + transform: translateY(-32px) translateZ(0) scale(1); +} + +.portfolio-items .col.nectar-new-item .inner-wrap { + position: relative; +} + +.portfolio-items .col.nectar-new-item .inner-wrap:before { + display: block; + border-radius: 50px; + background-color: #000; + padding: 10px 20px; + position: absolute; + left: 13px; + top: 13px; + color: #fff; + line-height: 16px; + font-size: 16px; + content: 'New'; + z-index: 100; + transform: scale(0.9) translateZ(0); + backface-visibility: hidden; + transition: transform 0.3s cubic-bezier(.21, .6, .35, 1); +} + +body .portfolio-items[data-gutter="20px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="20px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 40px; +} +body .portfolio-items[data-gutter="15px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="15px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 30px; +} +body .portfolio-items[data-gutter="10px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="10px"][data-ps="9"] .col.elastic-portfolio-item, +body .portfolio-items[data-gutter="default"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="default"][data-ps="9"] .col.elastic-portfolio-item { + padding: 20px; +} +body .portfolio-items[data-gutter="9px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="9px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 18px; +} +body .portfolio-items[data-gutter="8px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="8px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 16px; +} +body .portfolio-items[data-gutter="7px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="7px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 14px; +} +body .portfolio-items[data-gutter="6px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="6px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 12px; +} +body .portfolio-items[data-gutter="5px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="5px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 10px; +} +body .portfolio-items[data-gutter="4px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="4px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 8px; +} +body .portfolio-items[data-gutter="3px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="3px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 6px; +} +body .portfolio-items[data-gutter="2px"][data-col-num="elastic"][data-ps="9"], +body .portfolio-items[data-gutter="2px"][data-ps="9"] .col.elastic-portfolio-item { + padding: 4px; +} + +body.material .portfolio-filters-inline[data-color-scheme*="-underline"] a:after, +body.material .portfolio-filters[data-color-scheme*="-underline"] > ul li a:after { + transform-origin: left; + transform: scaleX(0); + left: 0; + width: 100%; + bottom: 2px; + -webkit-transition: transform 0.35s cubic-bezier(0.52, 0.01, 0.16, 1); + transition: transform 0.35s cubic-bezier(0.52, 0.01, 0.16, 1); +} + + +body.material:not(.using-mobile-browser) .portfolio-filters-inline[data-color-scheme*="-underline"] a:hover:after, +body.material:not(.using-mobile-browser) .portfolio-filters[data-color-scheme*="-underline"] > ul li a:hover:after { + transform-origin: left; + transform: scaleX(1); + left: 0; +} + +body.material .portfolio-filters-inline[data-color-scheme*="-underline"] .active:after, +body.material .portfolio-filters[data-color-scheme*="-underline"] > ul li .active:after { + transform-origin: left; + transform: scaleX(1); + left: 0; +} + +.portfolio-items .col.span_3 { + width: 24.9%; + margin: 0; + padding: 0; +} + +.portfolio-items .col.span_4 { + width: 33.3%; + margin: 0; +} + +.portfolio-items .col.span_6, +.portfolio-items[data-ps="6"] .col.span_6 { + width: 49.9%; + margin: 0; +} + +.portfolio-items[data-rcp="true"]:not(.carousel) { + margin: 0; +} + +.portfolio-items[data-rcp="true"] .col.span_4 { + width: 33.3%; + margin: 0; +} + +.portfolio-items .col.span_3 .work-item .work-info a { + padding: 6px 11px; + font-size: 11px; + margin: 3px; +} + +.portfolio-items .col.span_3 .work-meta h4 { + font-size: 16px; + line-height: 16px; + letter-spacing: -1px; +} + +.portfolio-items .work-meta h4 { + line-height: 22px; + position: relative; + top: -2px; +} + +.portfolio-items .work-meta p { + line-height: 22px; +} + +[data-ps="1"] .work-meta p { + position: relative; +} + +.page-template-template-portfolio-php .portfolio-items .col.span_3, +.page-template-template-portfolio-php .portfolio-items .col.span_4 { + background-color: #f8f8f8; +} + +.portfolio-items .col .work-item .work-info .default-link { + background-color: #252525; + padding: 9px 15px; + color: #fff; + font-size: 12px; + margin: 5px; + -webkit-border-radius: 2px; + border-radius: 2px; +} + +.portfolio-items .col .work-item .work-info .default-link:hover { + opacity: 0.8; +} + +.portfolio-items .col h3 { + position: relative; + top: 0; + color: #fff; + margin-bottom: 10px; +} + +body .portfolio-items .col img { + display: block; + margin-bottom: 0; + width: auto; +} + +.wpb_row.full-width-content .portfolio-items[data-col-num="cols-3"] .col.span_4 img { + max-width: none; + width: 100%; +} + +.wpb_row .portfolio-items[data-bypass-cropping="true"] .col .work-item.style-5 .parallaxImg-wrap, +.wpb_row .portfolio-items[data-bypass-cropping="true"] .col .work-item.style-5 .parallaxImg { + height: 100%; + width: 100%; + top: 0; + left: 0; + position: absolute; +} +.wpb_row .portfolio-items[data-bypass-cropping="true"] .col .work-item.style-5 img.sizer { + height: auto; + position:relative; +} + +.portfolio-items .col:not([data-default-color="true"]) .work-item[data-custom-content='on'] img { + z-index: 3; +} +.portfolio-items .col:not([data-default-color="true"]) .work-item[data-custom-content='on'] img.no-img { + z-index: 1; +} + + +body .portfolio-items[data-col-num="elastic"] .work-info-bg { + width: 100%; +} + +.portfolio-items .col .work-info .view, +.portfolio-items .col .work-info .image, +.portfolio-items .col .work-info .video { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + text-indent: -9999px; + color: #fff; + display: block; +} + +.portfolio-items .col .work-info .vert-center { + text-align: center; + margin-top: -20px; + position: relative; + z-index: 10; + top: 50%; + width: 100%; + -webkit-transform: translateY(-50%) translateZ(0); + transform: translateY(-50%) translateZ(0); + -webkit-transition: all 0.2s ease-out 0s; + transition: all 0.2s ease-out 0s; +} +.portfolio-items[data-ps="2"] .col .work-info .vert-center { + -webkit-transition: opacity 0.2s ease-out, transform 0.2s ease-out; + transition: opacity 0.2s ease-out, transform 0.2s ease-out; + -webkit-transform: translateY(calc(-50% - 20px)) translateZ(0); + transform: translateY(calc(-50% - 20px)) translateZ(0); + margin-top: 0; +} +.portfolio-items[data-ps="2"] .col .work-item:hover .work-info .vert-center { + -webkit-transform: translateY(-50%) translateZ(0); + transform: translateY(-50%) translateZ(0); +} +.portfolio-items[data-ps="2"] .col .work-item .work-info .vert-center > * { + opacity: 1; +} + +.portfolio-items .col .work-info .vert-center .no-text { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + display: block; + text-indent: -9999px; + background-color: transparent; +} + +body .portfolio-items .col .work-info .vert-center.no-text { + -webkit-transform: none; + transform: none; + top: 0; + height: 100%; +} + +.portfolio-items .col .work-info .vert-center p { + padding-bottom: 0; +} + +.portfolio-items .col .work-info a:hover span { opacity: 0.8; } + +.portfolio-items .col .work-info .vert-center *, +.portfolio-items .col .work-info i { + opacity: 0; + transition: all 0.2s ease; + -webkit-transition: all 0.2s ease; +} + +.portfolio-items[data-ps="6"] .work-item .work-meta .inner .custom-content *, +.portfolio-items .col .work-info .vert-center .custom-content, +.portfolio-items .col .work-info .vert-center .custom-content *, +.portfolio-items .custom-content .sharing-default-minimal .nectar-social[data-color-override="override"] .nectar-social-inner a:not(:hover) i { + opacity: 1; + color: #fff; +} + +.portfolio-items[data-ps="6"] .work-item .work-meta .inner .custom-content a { + position: relative; + width: auto; + height: auto; +} + + +.portfolio-items .custom-content .sharing-default-minimal .nectar-social-inner > .nectar-sharing:not(:hover) { + border-color: #fff; +} + +.portfolio-items .col .work-info .vert-center .custom-content .nectar-button, +.portfolio-items[data-ps="6"] .work-item .work-meta .inner .custom-content .nectar-button { + display: inline-block!important; +} + +.portfolio-items .col .work-info .vert-center .custom-content { + text-align: left; +} + +.portfolio-items .col .work-info .vert-center .custom-content > *:last-child { + margin-bottom: 0; +} +.portfolio-items .col .work-item[data-custom-content="on"].style-1 .work-info .vert-center { + margin-top: 0; +} + +.portfolio-items .col:not([data-default-color="true"]) .work-item[data-custom-content='on'] .work-info-bg, +.portfolio-items[data-ps="1"] .col:not([data-default-color="true"]) .work-item[data-custom-content='on'] :hover .work-info-bg, +.portfolio-items[data-ps="2"] .col:not([data-default-color="true"]) .work-item[data-custom-content='on'] :hover .work-info-bg { + opacity: 1; +} +.portfolio-items .col:not([data-default-color="true"]) .work-item[data-custom-content='on'] .work-info-bg:after { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + display: block; + content: ' '; + z-index: 1; + opacity: 0; + background-color: rgba(0,0,0,0.06); + transition: all 0.2s linear; + -webkit-transition: all 0.2s linear; +} + +.portfolio-items .col:not([data-default-color="true"]):hover .work-item[data-custom-content='on'] .work-info-bg:after { + opacity: 1; +} + +body[data-button-style^="rounded"] .wpb_wrapper .custom-content .nectar-social{ + text-align:center; +} + +body .portfolio-items .col .work-item .work-info .custom-content a{ + opacity:1!important; + text-indent:0!important; + width:auto; + display:inline-block; + position:relative!important +} + +.portfolio-items .col .work-item { + position: relative; + margin-bottom: 15px; + overflow: hidden; + width: 100%; +} + +.portfolio-items .col.elastic-portfolio-item .work-item { + overflow: visible; +} + +.portfolio-wrap.default-style .portfolio-items:not([data-ps="6"]) .col.elastic-portfolio-item .work-item { + overflow: hidden; +} + +.portfolio-items .nectar-love { + text-align: left; +} + +.portfolio-items .nectar-love { + -webkit-transition: background-color 0.2s linear; + transition: background-color 0.2s linear; + height: 13px; + width: auto; + line-height: 11px; + font-size: 12px; + display: inline-block; + text-align: left; + color: #888; +} + +.portfolio-items .work-meta { + text-align: left; + float: left; + width: 70%; + font-size: 11px; + color: #999; +} + +.light .portfolio-items .work-meta { + color: #e8e8e8; +} + +.portfolio-items .work-meta h4, +.main-content .portfolio-items .work-meta h4, +.page-template-template-portfolio .portfolio-items .work-meta h4 { + margin-bottom: 0; +} + +.portfolio-items .nectar-love span { + line-height: 12px; +} + +.portfolio-items .nectar-love-wrap { + width: 70px; + top: -1px; + position: relative; + float: right; + text-align: right; +} + +.portfolio-items .nectar-love:hover, +.portfolio-items .nectar-love.loved { + color: #888; +} + +.portfolio-items .flex-gallery { + margin-bottom: 0; +} + +.portfolio-items[data-ps="6"] .col { + background-color: transparent; + width: 33.3%; + padding: 1%; +} + +.portfolio-items[data-ps="6"] .col.span_3 { + width: 22.75%; + padding: 0.3%; +} + +.portfolio-items[data-ps="6"] .col:hover { + z-index: 1000!important; +} + + +.portfolio-items[data-ps="6"] .col a { + position: absolute; + display: block; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1000; +} + +body .portfolio-items[data-ps="6"] .col.span_4 .work-meta, +body .portfolio-items[data-ps="6"] .col.span_3 .work-meta { + width: 100%; +} + +.portfolio-items[data-ps="6"] .work-meta { + width: 100%; + padding: 17%; + position: absolute; + top: 50%; + -ms-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + text-align: center; + left: 0; + z-index: 100; + color: #fff; + font-size: 12px; +} + +.portfolio-items[data-ps="6"] .work-meta p { + font-size: 14px; + position: relative; + line-height: 22px; +} + +.portfolio-items[data-ps="6"] .work-meta h4 { + color: #fff; + font-size: 24px; + line-height: 30px; +} + + +.portfolio-items[data-ps="6"] .parallaxImg-layers > div:first-child .bg-img:after { + background-color: rgba(51,51,51,0.5); + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1; + content: ' '; + transition: all 0.4s cubic-bezier(0.12, 0.65, 0.4, 1); + -webkit-transition: all 0.4s cubic-bezier(0.12, 0.65, 0.4, 1); + opacity: 0; +} + +.portfolio-items[data-ps="6"] .bg-overlay { + border: 0 solid #fff; + position: absolute; + top: 9%; + left: 9%; + width: 82%; + height: 82%; + z-index: 10; + transition: border 0.24s cubic-bezier(0, 0, 0.6, 1), opacity 0.2s cubic-bezier(0.5, 0, 1, 0.1); + -webkit-transition: border 0.24s cubic-bezier(0, 0, 0.6, 1), opacity 0.2s cubic-bezier(0.5, 0, 1, 0.1); + opacity: 0; +} + +.portfolio-items[data-ps="6"] .work-item:hover .bg-overlay { + -webkit-transition: border 0.24s cubic-bezier(0, 0, 0.6, 1), opacity 0s ease; + transition: border 0.24s cubic-bezier(0, 0, 0.6, 1), opacity 0s ease; +} + +.portfolio-items[data-ps="6"] .col .parallaxImg-rendered-layer > .bg-img { + -webkit-transition: all 0.4s cubic-bezier(0.12, 0.65, 0.4, 1); + transition: all 0.4s cubic-bezier(0.12, 0.65, 0.4, 1); +} + +.portfolio-items[data-ps="6"] .work-item:hover .parallaxImg-rendered-layer > .bg-img { + -webkit-transform: scale(1.07); + transform: scale(1.07); +} + + +.portfolio-items[data-ps="6"].no-masonry .bg-overlay { + border: 0 solid #fff; + position: absolute; + top: 11%; + left: 8%; + width: 84%; + height: 78%; + z-index: 10; + transition: all 0.4s cubic-bezier(0.12, 0.65, 0.4, 1); + -webkit-transition: all 0.4s cubic-bezier(0.12, 0.65, 0.4, 1); +} + + +.portfolio-items[data-ps="6"] .wide_tall .work-item .work-meta .inner { + -webkit-transform: scale(.85); + transform: scale(.85); +} +.portfolio-items[data-ps="6"] .work-item .work-meta .inner { + opacity: 0; + -webkit-transform: scale(.8); + transform: scale(.8); + -webkit-transition: all 0.4s cubic-bezier(0.12, 0.65, 0.4, 1); + transition: all 0.4s cubic-bezier(0.12, 0.65, 0.4, 1); +} + +html.cssreflections .portfolio-items .parallaxImg-wrap { + transform: translateZ(0px); +} + +.portfolio-items .parallaxImg { + -webkit-tap-highlight-color: rgba(0,0,0,0); + outline: 1px solid transparent; + transition: transform 0.23s ease-out; + -webkit-transition: transform 0.23s ease-out; + position: relative; + z-index: 10; + cursor: pointer; +} + +.portfolio-items .parallaxImg img { + box-shadow: 0 2px 8px rgba(0,0,0,0.25); +} + +.portfolio-items .parallaxImg-container { + position: relative; + width: 100%; + height: 100%; + outline: 1px solid transparent; + transform-style: preserve-3d; + -webkit-transform-style: preserve-3d; +} + +.portfolio-items[data-ps="6"][data-col-num="elastic"]:not(.fullwidth-constrained) { + overflow: visible; +} + +.portfolio-items[data-ps="6"] .work-item:hover .parallaxImg-shadow { + box-shadow: 0 45px 100px rgba(0,0,0,0.4), 0 16px 40px rgba(0,0,0,0.4); +} + +.portfolio-items[data-ps="6"] .col .work-item { + margin-bottom: 0; +} + +.portfolio-items[data-col-num="elastic"][data-ps="6"] .col img { + width: 100%; +} + +.portfolio-items .parallaxImg-layers { + position: relative; + width: 100%; + height: 100%; + z-index: 2; + backface-visibility: hidden; + -webkit-backface-visibility: hidden; + transform-style: preserve-3d; + -webkit-transform-style: preserve-3d; + outline: 1px solid transparent; +} + +.portfolio-items .parallaxImg-rendered-layer { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-size: cover; + outline: 1px solid transparent; + overflow: hidden; +} + +@media only screen and (max-width: 1000px) { + .portfolio-items .parallaxImg-rendered-layer { + transform: none!important; + } +} + +.portfolio-items .parallaxImg-rendered-layer > .bg-img { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-size: cover; + outline: 1px solid transparent; +} + +.portfolio-items .parallaxImg-container .parallaxImg-rendered-layer, +.parallaxImg.transition .parallaxImg-container .parallaxImg-rendered-layer { + backface-visibility: hidden; + -webkit-backface-visibility: hidden; +} + +.portfolio-items .parallaxImg-container .parallaxImg-shadow, +.portfolio-items .parallaxImg-container, +.parallaxImg.transition .parallaxImg-container, +.parallaxImg.transition .parallaxImg-container .parallaxImg-shadow { + backface-visibility: hidden; + -webkit-backface-visibility: hidden; +} + +html.cssreflections .portfolio-items .parallaxImg-container .parallaxImg-shadow, +html.cssreflections .portfolio-items .parallaxImg-container, +.parallaxImg.transition .parallaxImg-container, +.parallaxImg.transition .parallaxImg-container .parallaxImg-shadow, +html.cssreflections .portfolio-items .parallaxImg-container .parallaxImg-rendered-layer, +.parallaxImg.transition .parallaxImg-container .parallaxImg-rendered-layer { + transition: transform 0.27s ease-out; + -webkit-transition: transform 0.27s ease-out; +} + +html.cssreflections .portfolio-items .parallaxImg-container:not(.over), +html.cssreflections .portfolio-items .parallaxImg-container:not(.over) .parallaxImg-rendered-layer, +html.cssreflections .portfolio-items .parallaxImg:not(.over) { + transition: transform 0.35s ease-out; + -webkit-transition: transform 0.35s ease-out; +} + +.parallaxImg.transition .parallaxImg-container .parallaxImg-shadow { + transition: all 0.27s ease-out; + -webkit-transition: all 0.27s ease-out; +} +.portfolio-items .parallaxImg-container:not(.over) .parallaxImg-shadow { + transition: all 0.27s ease-out; + -webkit-transition: all 0.27s ease-out; +} + + +body.cssreflections .portfolio-items .parallaxImg-container .parallaxImg-shadow, +body.cssreflections .portfolio-items .parallaxImg-container, +body.cssreflections .parallaxImg.transition .parallaxImg-container, +body.cssreflections .parallaxImg.transition .parallaxImg-container .parallaxImg-shadow, +body.cssreflections .portfolio-items .parallaxImg-container .parallaxImg-rendered-layer, +body.cssreflections .parallaxImg.transition .parallaxImg-container .parallaxImg-rendered-layer, +body.cssreflections .portfolio-items .parallaxImg { + transition: transform 0.1s ease-out; + -webkit-transition: transform 0.1s ease-out; +} +body.cssreflections .parallaxImg.transition .parallaxImg-container, +body.cssreflections .parallaxImg.transition .parallaxImg-container .parallaxImg-shadow, +body.cssreflections .parallaxImg.transition .parallaxImg-container .parallaxImg-rendered-layer, +body.cssreflections .portfolio-items .parallaxImg.transition { + transition: transform 0.2s ease-out; + -webkit-transition: transform 0.2s ease-out; +} + +.portfolio-items .parallaxImg-shadow { + position: absolute; + top: 5%; + left: 5%; + width: 90%; + height: 90%; + box-shadow: 0 8px 30px rgba(0,0,0,0.6); + transition: all 0.27s ease-out; + -webkit-transition: all 0.27s ease-out; + z-index: 1; +} + +.portfolio-items .tall .parallaxImg-shadow, +.portfolio-items .wide_tall .parallaxImg-shadow { + top: 8%; +} + +.portfolio-items[data-ps="1"] .col .work-item:hover .vert-center, +.portfolio-items[data-ps="2"] .col .work-item:hover .vert-center, +.portfolio-items.carousel .col .work-item.style-2:hover .vert-center { + margin-top: 0; +} +.portfolio-items[data-ps="2"] .col .work-item:hover .work-info, +.portfolio-items[data-ps="2"] .col .work-item:hover .work-info .vert-center > *, +.recent-work-carousel.default-style .work-item:hover .work-info .vert-center > *, +.portfolio-items.carousel .col .work-item.style-2:hover .work-info, +.portfolio-items.carousel .col .work-item.style-2:hover .work-info .vert-center > * { + opacity: 1; +} + +/* fix ios double tap issue */ +@media only screen and (min-width: 1000px) { + .portfolio-items[data-ps="1"] .col .work-item:hover .work-info, + .portfolio-items[data-ps="1"] .col .work-item:hover .work-info .vert-center > * { + opacity: 1; + } +} + +.portfolio-items[data-ps="1"] .col .work-item:hover .work-info-bg, +.portfolio-items[data-ps="2"] .col .work-item:hover .work-info-bg, +.portfolio-items.carousel .col .work-item.style-2:hover .work-info-bg { + opacity: 0.9; +} + +.portfolio-items .col .work-item.style-3:hover .work-info-bg { + opacity: 0; +} + +.portfolio-items .col .work-item.style-4 .work-info .bottom-meta, +.portfolio-items .col .work-item.style-4 img { + -webkit-transition: transform 0.3s ease; + transition: transform 0.3s ease; +} +.portfolio-items .col .work-item.style-4:hover img { + transition-delay: 0.03s; +} + +.portfolio-items .col .work-item.style-4 .work-info .bottom-meta { + -webkit-transform: translateY(100%); + transform: translateY(100%); + background-color: #000; +} + +.portfolio-items .col .work-item.style-4:hover img { + -webkit-transform: translateY(-25px); + transform: translateY(-25px); +} +.portfolio-items .col .work-item.style-4:hover .work-info .bottom-meta, +.portfolio-items .col .work-item.style-4[data-custom-content="on"]:hover img { + -webkit-transform: translateY(0px); + transform: translateY(0px); +} + +.portfolio-items .col .work-item.style-5 { + overflow: visible; +} +.portfolio-items .col .work-item.style-5 img.sizer { + position: absolute; + z-index: -1; + visibility: hidden; +} + +.no-js .portfolio-items .col .work-item.style-5 img.sizer { + z-index: 1; + visibility: visible; +} + +.portfolio-loading { + display: block; + height: 31px; + width: 31px; + z-index: 80; + position: absolute; + left: 50%; + top: 100px; + margin-left: -15px; +} + +.portfolio-loading.default-loader { + background-image: none!important; +} + +body[data-bg-header="true"] .portfolio-loading { + display: none; +} + +div[data-col-num="cols-4"] .portfolio-loading { + top: 85px; +} + +div[data-col-num="cols-3"] .portfolio-loading { + top: 111px; +} + +.portfolio-items[data-col-num="elastic"] { + margin-right: 0; + margin-top: 0; +} + +.portfolio-wrap { + position: relative; +} + +body .portfolio-wrap.default-style, +body .portfolio-wrap.spaced { + padding: 2% 0; +} + +body #boxed .portfolio-wrap.spaced { + padding-left: 1.5%; +} + +body #boxed .portfolio-wrap.default-style { + padding: 2%; +} + + +body .default-style .portfolio-items .col.elastic-portfolio-item { + margin: 1.2%!important; + width: 17.50%!important; +} + +body .portfolio-items .col.elastic-portfolio-item { + width: 20%; + margin: 0!important; +} + +body .portfolio-items[data-gutter="1px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="1px"] .col { + padding: 1px; +} +body .portfolio-items[data-gutter="2px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="2px"] .col { + padding: 2px; +} +body .portfolio-items[data-gutter="3px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="3px"] .col { + padding: 3px; +} +body .portfolio-items[data-gutter="4px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="4px"] .col { + padding: 4px; +} +body .portfolio-items[data-gutter="5px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="5px"] .col { + padding: 5px; +} +body .portfolio-items[data-gutter="6px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="6px"] .col { + padding: 6px; +} +body .portfolio-items[data-gutter="7px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="7px"] .col { + padding: 7px; +} +body .portfolio-items[data-gutter="8px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="8px"] .col { + padding: 8px; +} +body .portfolio-items[data-gutter="9px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="9px"] .col { + padding: 9px; +} +body .portfolio-items[data-gutter="10px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="10px"] .col { + padding: 10px; +} + +body .portfolio-items[data-gutter="15px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="15px"] .col, +body .portfolio-items[data-gutter="default"]:not([data-col-num="elastic"]) .col { + padding: 15px; +} +body .portfolio-items[data-gutter="20px"][data-col-num="elastic"], +body .portfolio-items[data-gutter="20px"] .col { + padding: 20px; +} + +body .portfolio-items[data-gutter*="px"][data-col-num="elastic"].fullwidth-constrained { + padding: 0; +} + +body .portfolio-items[data-gutter="1px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="1px"]:not([data-col-num="elastic"]) { + width: calc(100% + 2px); + margin-left: -1px; + margin-top: -1px; +} + +body .portfolio-items[data-gutter="2px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="2px"]:not([data-col-num="elastic"]) { + width: calc(100% + 4px); + margin-left: -2px; + margin-top: -2px; +} +body .portfolio-items[data-gutter="3px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="3px"]:not([data-col-num="elastic"]) { + width: calc(100% + 6px); + margin-left: -3px; + margin-top: -3px; +} +body .portfolio-items[data-gutter="4px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="4px"]:not([data-col-num="elastic"]) { + width: calc(100% + 8px); + margin-left: -4px; + margin-top: -4px; +} +body .portfolio-items[data-gutter="5px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="5px"]:not([data-col-num="elastic"]) { + width: calc(100% + 10px); + margin-left: -5px; + margin-top: -5px; +} +body .portfolio-items[data-gutter="6px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="6px"]:not([data-col-num="elastic"]) { + width: calc(100% + 12px); + margin-left: -6px; + margin-top: -6px; +} +body .portfolio-items[data-gutter="7px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="7px"]:not([data-col-num="elastic"]) { + width: calc(100% + 14px); + margin-left: -7px; + margin-top: -7px; +} +body .portfolio-items[data-gutter="8px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="8px"]:not([data-col-num="elastic"]) { + width: calc(100% + 16px); + margin-left: -8px; + margin-top: -8px; +} +body .portfolio-items[data-gutter="9px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="9px"]:not([data-col-num="elastic"]) { + width: calc(100% + 18px); + margin-left: -9px; + margin-top: -9px; +} +body .portfolio-items[data-gutter="10px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="10px"]:not([data-col-num="elastic"]) { + width: calc(100% + 20px); + margin-left: -10px; + margin-top: -10px; +} + +body .portfolio-items[data-gutter="15px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="15px"]:not([data-col-num="elastic"]), +body .portfolio-items[data-gutter="default"]:not([data-col-num="elastic"]) { + width: calc(100% + 30px); + margin-left: -15px; + margin-top: -15px; +} + +body .portfolio-items[data-gutter="20px"][data-col-num="elastic"].fullwidth-constrained, +body .portfolio-items[data-gutter="20px"]:not([data-col-num="elastic"]) { + width: calc(100% + 40px); + margin-left: -20px; + margin-top: -20px; +} + + +body .portfolio-items .col.elastic-portfolio-item.tall, +body .portfolio-items .col.elastic-portfolio-item.regular { + width: 20%; +} + +body .portfolio-items .col.elastic-portfolio-item.wide { + width: 40%; +} + +body .portfolio-items .col.elastic-portfolio-item.wide_tall { + width: 40%; +} + + +/* constrained cols */ +body .portfolio-items.constrain-max-cols.no-masonry .col.elastic-portfolio-item { + width: 25%; +} + + +/*-------------------------------------------------------------------------*/ +/* 4. Image Gallery +/*-------------------------------------------------------------------------*/ +body .wpb_gallery .portfolio-wrap .portfolio-items[data-loading="lazy-load"] { + display: flex; + flex-wrap: wrap; +} +@media only screen and (max-width: 1600px) { + .wpb_gallery .portfolio-wrap .portfolio-items[data-loading="lazy-load"][data-col-num="elastic"] .col { + width: 25% + } +} +@media only screen and (max-width: 1300px) { + .wpb_gallery .portfolio-wrap .portfolio-items[data-loading="lazy-load"][data-col-num="elastic"] .col { + width: 33.3% + } +} +@media only screen and (max-width: 1000px) { + .wpb_gallery .portfolio-wrap .portfolio-items[data-loading="lazy-load"][data-col-num="elastic"] .col { + width: 50% + } +} +@media only screen and (max-width: 470px) { + .wpb_gallery .portfolio-wrap .portfolio-items[data-loading="lazy-load"][data-col-num="elastic"] .col { + width: 100% + } +} + +@media only screen and (min-width: 1000px) { + .wpb_gallery .portfolio-wrap .portfolio-items[data-loading="lazy-load"][data-col-num="elastic"].constrain-max-cols .col { + width: 25% + } +} + + + +/*-------------------------------------------------------------------------*/ +/* 5. Recent Project Slider +/*-------------------------------------------------------------------------*/ +.nectar_fullscreen_zoom_recent_projects { + height: 900px; + width: 100%; + position: relative; + overflow:hidden; +} +.nectar_fullscreen_zoom_recent_projects .project-slides, +.nectar_fullscreen_zoom_recent_projects .project-slide, +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer-wrap, +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer-wrap *, +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer-wrap .bg-inner-wrap:after { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} + +body .nectar_fullscreen_zoom_recent_projects .project-slide.no-trans, +body .nectar_fullscreen_zoom_recent_projects .project-slide.no-trans *, +body .nectar_fullscreen_zoom_recent_projects .project-slide.no-trans .project-info h1 > span span, +body .nectar_fullscreen_zoom_recent_projects .project-slide.no-trans .project-info a, +body .nectar_fullscreen_zoom_recent_projects .project-slide.no-trans .project-info p { + -ms-transition: none; + -webkit-transition: none; + transition: none; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide { + visibility: hidden; + -webkit-transition: visibility 0s 1.3s; + transition: visibility 0s 1.3s; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.current { + visibility: visible; + -webkit-transition-delay: 0s; + transition-delay: 0s; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer-wrap .slide-bg { + -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + transition: -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s, -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + -webkit-transform: scale(1) translateZ(0); + -ms-transform: scale(1) translateZ(0); + transform: scale(1) translateZ(0); + backface-visibility: hidden; +} + + +.nectar_fullscreen_zoom_recent_projects .project-slide.prev .bg-outer-wrap .slide-bg, +.nectar_fullscreen_zoom_recent_projects .project-slide.next .bg-outer-wrap .slide-bg { + -webkit-transform: scale(1.25); + -ms-transform: scale(1.25); + transform: scale(1.25); + -webkit-transition-delay: 0s; + transition-delay: 0s; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer-wrap { + -webkit-transition: -webkit-transform 0.95s cubic-bezier(0.4, 0, 0.2, 1) 0.45s; + transition: -webkit-transform 0.95s cubic-bezier(0.4, 0, 0.2, 1) 0.45s; + transition: transform 0.95s cubic-bezier(0.4, 0, 0.2, 1) 0.45s; + transition: transform 0.95s cubic-bezier(0.4, 0, 0.2, 1) 0.45s, -webkit-transform 0.9s cubic-bezier(0.4, 0, 0.2, 1) 0.45s; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + backface-visibility: hidden; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.prev .bg-outer-wrap { + -webkit-transform: translate3d(0%, -100%, 0); + transform: translate3d(0%, -100%, 0); +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.next .bg-outer-wrap { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); +} + + + +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer, +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer { + -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + transition: -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s, -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + -webkit-transform: scale(1) translateZ(0); + -ms-transform: scale(1) translateZ(0); + transform: scale(1) translateZ(0); + backface-visibility: hidden; + overflow: hidden; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.prev .bg-outer, +.nectar_fullscreen_zoom_recent_projects .project-slide.next .bg-outer { + -webkit-transform: scale(0.5) translateZ(0); + -ms-transform: scale(0.5) translateZ(0); + transform: scale(0.5) translateZ(0); + -webkit-transition-delay: 0s; + transition-delay: 0s; +} + + + +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info h1 > span { + position: relative; + display: inline-block; + overflow: hidden; +} +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info h1 > span span { + position: relative; + display: inline-block; + -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.1, 1) 0.75s; + transition: -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.1, 1) 0.75s; + transition: transform 0.6s cubic-bezier(0.4, 0, 0.1, 1) 0.75s; + transition: transform 0.6s cubic-bezier(0.4, 0, 0.1, 1) 0.75s, -webkit-transform 0.6s cubic-bezier(0.4, 0, 0.1, 1) 0.75s; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + padding: 2% 0; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info a, +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info p { + -webkit-transition: all 0.5s cubic-bezier(0.4, 0, 0.1, 1) 0.75s; + transition: all 0.5s cubic-bezier(0.4, 0, 0.1, 1) 0.75s; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + display: block; + margin-top: 25px; + opacity: 1; +} + +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="light"] .project-info h1 { + color: #fff; +} +.nectar_fullscreen_zoom_recent_projects .project-slide.prev .project-info h1 > span span { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + -webkit-transition-delay: .45s; + transition-delay: .45s; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.next .project-info h1 > span span { + -webkit-transform: translateY(100%); + transform: translateY(100%); + -webkit-transition-delay: .45s; + transition-delay: .45s; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.prev .project-info a { + -webkit-transform: translateY(-60%); + transform: translateY(-60%); + opacity: 0; + -webkit-transition-delay: .45s; + transition-delay: .45s; +} +.nectar_fullscreen_zoom_recent_projects .project-slide.prev .project-info p { + -webkit-transform: translateY(-40px); + transform: translateY(-40px); + opacity: 0; + -webkit-transition-delay: .45s; + transition-delay: .45s; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.next .project-info a { + -webkit-transform: translateY(60%); + transform: translateY(60%); + opacity: 0; + -webkit-transition-delay: .45s; + transition-delay: .45s; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.next .project-info p { + -webkit-transform: translateY(40px); + transform: translateY(40px); + opacity: 0; + -webkit-transition-delay: .45s; + transition-delay: .45s; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info a { + color: #fff; + font-weight: 600; + backface-visibility: hidden; + display: inline-block; + position: relative; +} +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info p { + color: #fff; + backface-visibility: hidden; + position: relative; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info a:hover:after { + animation: portSliderLine 0.42s cubic-bezier(0.42, 0, 0, 1) forwards; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info a:after { + display: block; + content: ''; + position: absolute; + z-index: -1; + width: 100%; + height: 2px; + background-color: #fff; + bottom: -1px; + left: 0; + backface-visibility: hidden; + pointer-events: none; + animation: portSliderLine2 0.42s cubic-bezier(0.42, 0, 0, 1) forwards; +} + +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .project-slide .project-info a:after { + background-color: #000; +} + +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .project-slide .project-info a { + color: #000; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer-wrap .slide-bg { + background-size: cover; + background-position: center; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer-wrap .bg-inner-wrap:after { + opacity: 0; + -webkit-transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; + -webkit-transition-delay: 0s; + transition-delay: 0s; + backface-visibility: hidden; + z-index: 10; + +} + +.nectar_fullscreen_zoom_recent_projects .project-slide .bg-outer-wrap .bg-inner-wrap:after { + content: ''; + background-color: inherit; +} + +.nectar_fullscreen_zoom_recent_projects .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { + -webkit-transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.2s; + transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1) 1.25s; +} + +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.1"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.1; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.2"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.2; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.3"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.3; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.4"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.4; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.5"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.5; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.6"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.6; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.7"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.7; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.8"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.8; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="0.9"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 0.9; } +.nectar_fullscreen_zoom_recent_projects[data-overlay-opacity="1"] .project-slide.current .bg-outer-wrap .bg-inner-wrap:after { opacity: 1; } + +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info { + position: absolute; + left: 0; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + width: 100%; + z-index: 100; +} +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info h1, +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info p { + max-width: 50%; +} +.nectar_fullscreen_zoom_recent_projects .project-slide .project-info p { + display: block; +} + + +.nectar_fullscreen_zoom_recent_projects > .normal-container { + position: absolute; + z-index: 100; + width: 100%; + top: 0; + height: 100%; + left: 50%; + -ms-transform: translateX(-50%); + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + pointer-events: none; +} + +body[data-full-width-header="true"] .nectar_fullscreen_zoom_recent_projects > .normal-container { + max-width: none; + width: 100%; + left: 0; + -ms-transform: none; + -webkit-transform: none; + transform: none; +} + +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls { + position: absolute; + left: 0; + bottom: 40px; + z-index: 100; + pointer-events: all; +} + +body[data-full-width-header="true"] .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls { + left: 35px; + bottom: 20px; +} + +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next, +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev { + width: 44px; + height: 44px; + display: inline-block; + text-align: center; + border-radius: 50%; + position: relative; + margin: 7px; + border: 1px solid rgba(255,255,255,0.5); +} + +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .zoom-slider-controls .prev, +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .zoom-slider-controls .next { + border: 1px solid rgba(0,0,0,0.5); +} + +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev { + margin-left: 0; +} + +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next i, +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev i { + width: 44px; + height: 12px; + line-height: 12px; + font-size: 14px; + text-align:center; + position: absolute; + top: 50%; + left: 0; + -ms-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + -webkit-transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); + color: #fff; +} + +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .zoom-slider-controls .prev i, +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .zoom-slider-controls .next i { + color: #000; +} + +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next i { + left: 1px; +} + +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next:hover i { + -ms-transform: translateX(5px) translateY(-50%); + -webkit-transform: translateX(5px) translateY(-50%); + transform: translateX(5px) translateY(-50%); +} +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev:hover i { + -ms-transform: translateX(-5px) translateY(-50%); + -webkit-transform: translateX(-5px) translateY(-50%); + transform: translateX(-5px) translateY(-50%); +} +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next:after, +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev:after { + display: block; + content: ''; + background-color: #fff; + height: 1px; + width: 14px; + position: absolute; + left: 14px; + top: 50%; + -ms-transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); + -ms-transform: scaleX(0) translateX(0px); + -webkit-transform: scaleX(0) translateX(0px); + transform: scaleX(0) translateX(0px); +} + +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .zoom-slider-controls .prev:after, +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .zoom-slider-controls .next:after { + background-color: #000; +} + +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next:hover:after, +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev:hover:after { + -ms-transform: scaleX(1) translateX(0); + -webkit-transform: scaleX(1) translateX(0); + transform: scaleX(1) translateX(0); +} + +.nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev:after { + left: auto; + right: 14px; + -ms-transform: scaleX(0) translateX(0px); + -webkit-transform: scaleX(0) translateX(0px); + transform: scaleX(0) translateX(0px); +} + +.nectar_fullscreen_zoom_recent_projects[data-slider-controls="arrows"] .dot-nav { + pointer-events: none; + visibility: hidden; +} + +.nectar_fullscreen_zoom_recent_projects .dot-nav { + position: absolute; + right: 50px; + top: 50%; + -ms-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + z-index: 100; + pointer-events: all; +} + +body[data-ext-responsive="true"][data-full-width-header="true"] .nectar_fullscreen_zoom_recent_projects .dot-nav { + right: 35px; +} + +.nectar_fullscreen_zoom_recent_projects .dot-nav > span { + display: block; + height: 2px; + width: 30px; + cursor: pointer; + padding: 8px 0; + opacity: 0.5; + box-sizing: content-box; + -ms-transform-origin: right; + -webkit-transform-origin: right; + transform-origin: right; + -ms-transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + -ms-transform: scaleX(0.5); + -webkit-transform: scaleX(0.5); + transform: scaleX(0.5); +} +.nectar_fullscreen_zoom_recent_projects .dot-nav span.active { + opacity: 1; + -ms-transform: scaleX(1); + -webkit-transform: scaleX(1); + transform: scaleX(1); +} + +.nectar_fullscreen_zoom_recent_projects .dot-nav > span span { + height: 100%; + width: 100%; + display: block; + background-color: #fff; +} + +.nectar_fullscreen_zoom_recent_projects[data-slider-text-color="dark"] .dot-nav > span span { + background-color: #000; +} + + + + + +/*-------------------------------------------------------------------------*/ +/* 6. Responsive +/*-------------------------------------------------------------------------*/ + + +@media only screen and (min-width: 1000px) { + + .single-portfolio #page-header-bg[data-parallax="1"] .span_6 .inner-wrap { + -webkit-transform: translateY(0); + transform: translateY(0); + } + .single-portfolio #page-header-bg[data-parallax="1"]:not(.fullscreen-header) .span_6 .inner-wrap #portfolio-nav { + width: calc(100% + 140px); + left: -70px; + } + + .portfolio-items[data-ps="6"] .col.tall .bg-overlay { + top: 5.5%; + left: 9%; + width: 82%; + height: 89.5%; + } + .portfolio-items[data-ps="6"] .col.wide_tall .work-item:hover .bg-overlay { + border-width: 20px; + } + + .portfolio-items[data-ps="6"] .col.wide .bg-overlay { + top: 9%; + left: 5.5%; + width: 89%; + height: 82%; + } + + .portfolio-items[data-ps="6"].no-masonry .work-item:hover .bg-overlay { + border-width: 8px; + opacity: 1; + } + + .portfolio-items[data-ps="6"] .work-item:hover .bg-overlay { + border-width: 11px; + opacity: 1; + } + + .portfolio-items[data-ps="6"] .work-item:hover .parallaxImg-layers > div .bg-img:after { + opacity: 1; + } + + .portfolio-items[data-ps="6"] .work-item:hover .work-meta .inner { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + + body .default-style .portfolio-items.constrain-max-cols .col.elastic-portfolio-item { + width: 22.5%!important; + } + +} + + + +@media only screen and (max-width: 999px) { + + .portfolio-items .col .work-item.style-3 .work-info-bg { + display: block; + } + +} + + +@media only screen and (min-width: 690px) { + .portfolio-items[data-ps="6"] .wide_tall .work-meta h4 { + font-size: 48px; + line-height: 54px; + } + .portfolio-items[data-ps="6"] .wide_tall .work-meta p { + font-size: 28px; + line-height: 34px; + } +} + + + +@media only screen and (min-width: 1000px) and (max-width: 1300px) { + + body .default-style .portfolio-items.constrain-max-cols .col.elastic-portfolio-item .work-item .work-info a { + margin: 4px 3px; + padding: 4px 9px!important; + display: inline-block!important; + } + + body .default-style .portfolio-items.constrain-max-cols:not([data-ps="6"]) .col.elastic-portfolio-item .work-meta { + width: 68%!important; + } + + .portfolio-items:not(.carousel) .col.span_3 .work-item .work-info a { + padding: 5px 6px; + font-size: 11px; + margin: 1px; + } + + .portfolio-items:not(.carousel) .col.span_3 .work-meta, + .portfolio-items:not(.carousel) .col.span_4 .work-meta { + width: 74%; + } + + .portfolio-items:not(.carousel) .col.span_3 .nectar-love-wrap, + .portfolio-items:not(.carousel) .col.span_4 .nectar-love-wrap { + width: 52px; + } + + body.single-portfolio #sidebar.fixed-sidebar, + body.single-portfolio #sidebar { + width: 27.5%; + } + body.single-portfolio .post-area { + width: 72.5%; + } + body.single-portfolio.material .post-area.span_9 { + width: 68.5%; + } + + body.single-portfolio .row .title-wrap .col.section-title { + text-align: center; + } + + body.single-portfolio .row .col.section-title h1 { + max-width: 725px; + margin: 0 auto; + } + +} + + +@media only screen and (min-width: 1000px) and (max-width: 1080px) { + + body #sidebar.fixed-sidebar, + body.single-portfolio #sidebar { + top: 0; + margin-left: 0; + position: relative; + } + +} + + +@media only screen and (min-device-width: 481px) and (max-device-width: 1025px) and (orientation:landscape) { + + #full_width_portfolio .project-title.parallax-effect { + padding-top: 5em; + position: relative; + margin-top: -32px; + top: 0; + } + + .portfolio-items .col .work-item .work-info a { + display: block; + position: absolute; + top: 0; + left: 0; + margin: 0; + width: 100%; + height: 100%; + text-indent: -9999px; + } + + .portfolio-items .col .work-item .work-info .custom-content .nectar-button { + width: auto; + } + + body .portfolio-items[data-ps="6"] .work-item .parallaxImg-layers > div .bg-img:after { + opacity: 1; + } + + body .portfolio-items[data-ps="6"] .work-item .work-meta .inner, + body .portfolio-items[data-ps="6"] .wide_tall .work-item .work-meta .inner { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + + .portfolio-items .col .work-item:not(.style-2):not(.style-3):not(.style-3-alt):not(.style-4) .work-info .vert-center { + height: 100%; + top: 0; + -webkit-transform: none; + transform: none; + } + +} + + + +@media only screen and (min-width : 690px) and (max-width : 999px) { + + .one-fourths.span_3.clear-both, + .one-fourths.vc_span3.clear-both, + .one-fourths.vc_col-sm-3.clear-both:not([class*="vc_col-xs-"]) { + clear: both; + } + .one-fourths.span_3.right-edge, + .one-fourths.vc_span3.right-edge, + .one-fourths.vc_col-sm-3.right-edge:not([class*="vc_col-xs-"]) { + margin-right: 0; + } + + .portfolio-items .col { + width: 100%; + margin-left: 0; + margin-bottom: 8px; + } + + .portfolio-items:not(.carousel) div:nth-child(2n+2), + .portfolio-items:not(.carousel) div:nth-child(2n+2) { + clear: both; + } + + .portfolio-items:not(.carousel) .col.span_4, + .portfolio-items:not(.carousel) .col.span_3 { + width: 49.9%!important; + } + + .portfolio-items[data-ps="6"] .col { + padding: 2%; + } + + body .portfolio-items[data-ps="6"] .work-item .parallaxImg-layers > div .bg-img:after { + opacity: 1; + } + + body .portfolio-items[data-ps="6"] .work-item .work-meta .inner, + body .portfolio-items[data-ps="6"] .wide_tall .work-item .work-meta .inner { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + + body .portfolio-filters { + position: relative; + display: block; + clear: both; + float: none; + top: auto; + margin: 30px auto; + } + + .single-portfolio #full_width_portfolio .row .col.section-title h1 { + max-width: 430px; + margin: 0 auto; + } + #full_width_portfolio .section-title h1 { + font-size: 22px; + } + + .carousel-next { + right: 1px; + padding-left: 1px; + } + + .carousel-prev { + right: 25px; + padding-right: 1px; + } + + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:hover h3, + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:hover h3 { + -webkit-transform: translateX(0px) translateZ(0); + transform: translateX(0px) translateZ(0); + } + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project h3 .next-arrow, + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3 .next-arrow, + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav .controls span.line { + display: none; + } + + body .blog_next_prev_buttons[data-style="fullwidth_next_prev"] li span:not(.text), + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project span:not(.text), + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project span:not(.text) { + text-align: center; + } + .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul .previous-project, + .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul .next-project { + min-height: 225px; + } + +} + + + +@media only screen and (max-width : 690px) { + + .col { + margin-bottom: 25px; + } + + .post-area { + margin-bottom: 0; + } + + body .nectar_fullscreen_zoom_recent_projects .project-slide .project-info h2, + body .nectar_fullscreen_zoom_recent_projects .project-slide .project-info p { + max-width: 100%; + } + + .single-portfolio .row .col.section-title.span_12 { + text-align: center; + } + + body.single-portfolio .row .col.section-title.span_12 h1 { + width: 280px; + margin: 0 auto; + line-height: 30px; + } + + .portfolio-items:not(.carousel) .col.span_4, + .portfolio-items:not(.carousel) .col.span_3, + .portfolio-items:not(.carousel) .col.span_6 { + width: 100%; + margin-right: 0; + margin-left: 0; + } + + body .portfolio-items[data-ps="6"] .work-item .parallaxImg-layers > div .bg-img:after { + opacity: 1; + } + + body .portfolio-items[data-ps="6"] .work-item .work-meta .inner, + body .portfolio-items[data-ps="6"] .wide_tall .work-item .work-meta .inner { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + + + .bottom_controls #portfolio-nav .controls #next-link a i:after, + .bottom_controls #portfolio-nav .controls #prev-link a i:after { + display: none; + } + + .posts-container[data-load-animation="none"] article .inner-wrap.animated { + opacity: 1; + } + + .portfolio-filters { + width: 100%; + position: relative; + display: block; + clear: both; + top: auto; + } + + .page-template-template-portfolio-php .portfolio-filters { + margin-bottom: 0; + } + + hmtl .page-header-no-bg .portfolio-filters { + margin-top: 20px; + height: auto; + } + + body .portfolio-filters > ul { + position: relative; + } + + + div[data-style="minimal"] .toggle h3 a { + font-size: 20px; + line-height: 24px; + } + + body #portfolio-nav { + margin: 10px 0 0; + position: relative; + } + + .bottom_controls #portfolio-nav { + margin-top: 0; + } + + .bottom_controls #portfolio-nav .controls { + position: absolute; + } + + .bottom_controls #portfolio-nav .controls span { + display: none; + } + + .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .container { + max-width: none!important; + } + .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav .controls, + .blog_next_prev_buttons[data-style="fullwidth_next_prev"] .controls { + position: relative; + } + + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project span:not(.text), + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project span:not(.text) { + text-align: center; + } + + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul .previous-project, + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul .next-project { + min-height: 250px; + } + + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav .controls span { + display: block; + } + + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul .previous-project, + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav ul .next-project { + width: 100%; + } + + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project:hover h3, + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project:hover h3 { + -webkit-transform: translateX(0px) translateZ(0); + transform: translateX(0px) translateZ(0); + } + + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .next-project h3 .next-arrow, + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls .previous-project h3 .next-arrow, + body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls #portfolio-nav .controls span.line { + display: none; + } + + body .project-title #portfolio-nav { + top: 10px; + height: 33px; + } + + #portfolio-nav ul { + position: relative; + margin-left: 0; + } + + #page-header-bg #portfolio-nav ul, + .section-title #portfolio-nav ul { + margin-bottom: 0; + } + + #portfolio-nav ul:first-child { + z-index: 103; + } + + #portfolio-nav .controls:after { + content: ""; + display: block; + height: 0; + clear: both; + visibility: hidden; + } + + body #page-header-bg .project-title { + top: 0; + padding-top: 30px; + } + + .single-portfolio #page-header-bg[data-alignment-v="middle"]:not(.fullscreen-header) .span_6 { + -webkit-transform: none; + transform: none; + } + + body[data-permanent-transparent="1"] #page-header-bg .project-title { + padding-top: 50px; + } + + + .single-portfolio #page-header-bg:not(.fullscreen-header) { + height: auto!important; + } + + + .project-title #portfolio-nav .controls, + #page-header-bg .project-title #portfolio-nav .controls { + margin: 0 auto; + float: none; + display: block; + width: 120px; + } + + .project-title .controls #prev-link { + float: left; + } + + .project-title .controls #next-link { + float: right; + } + + .project-title #all-items { + left: 50%; + transform: translateX(-50%); + float: none; + position: absolute; + } + .project-title #portfolio-nav #all-items a { + margin: 0; + } + + +} + + + +@media only screen and (min-width : 1px) and (max-width : 999px) { + + body[data-header-resize="0"] .container-wrap .portfolio-filters-inline.first-section { + margin-top: 0; + } + + .single-portfolio .row .post-area { + margin-top: 0; + } + + .single-portfolio #boxed .post-area { width: 100%; } + + .work-item:not([data-custom-content="on"]) .work-info-bg { + display: none; + } + + .style-3 .work-info-bg { + display: block; + } + + body .portfolio-items .work-item.style-3 p, + body .portfolio-items .work-item.style-3 .vert-center p { + display: block; + margin-top: 0; + opacity: 1; + position: relative; + } + + .portfolio-items .work-item.style-3 .vert-center { + padding-top: 15px; + } + .portfolio-items[data-ps="8"] .col .work-info-bg { opacity: 0.3;} + .portfolio-items[data-ps="8"] .line, .portfolio-items[data-ps="8"] .col .next-arrow { + display: none; + } + + .recent-work-carousel[data-full-width="true"] .portfolio-items .work-info-bg, + .portfolio-items .col .work-item.style-2 .work-info-bg { + display: block; + } + + body .nectar-carousel-flickity-fixed-content .nectar-carousel-fixed-content { + position: relative; + width: 100%; + margin-right: 0; + transform: none; + top: 0; + } + + body .nectar-carousel-flickity-fixed-content .nectar-flickity { + margin-left: 0; + } + + body .nectar-flickity.nectar-carousel[data-controls="material_pagination"]:not(.masonry) .flickity-viewport { + margin-top: 50px; + } + + .portfolio-items:not(.carousel) .col.span_3 .work-item .work-info a { + padding: 9px 15px; + font-size: 12px; + margin: 5px; + } + + .portfolio-items .col .work-item .work-info a { + display: block; + position: absolute; + top: 0; + left: 0; + margin: 0; + width: 100%; + height: 100%; + opacity: 0; + text-indent: -9999px; + } + + .portfolio-items .col .work-item .work-info .custom-content .nectar-button { + width: auto; + } + + .portfolio-items .custom-content .sharing-default-minimal .nectar-social-inner > .nectar-sharing { + margin: 10px 13px 10px 0; + } + + + .portfolio-items .col .work-item:not(.style-2):not(.style-3):not(.style-3-alt):not(.style-4):not([data-custom-content="on"]) .work-info .vert-center { + -webkit-transform: none; + transform: none; + top: 0; + height: 100%; + } + + + body.single-portfolio #sidebar.fixed-sidebar, + body.single-portfolio #sidebar { + top: 0; + width: 100%; + margin-left: 0; + margin-top: 10px; + position: relative; + float: none; + } + + body.single-portfolio #sidebar { + margin-top: 30px; + } + + + .single-post[data-bg-header="true"].material .container-wrap:not(.no-sidebar) > .main-content { + padding-top: 0; + } + + + body.single-portfolio .post-area { + width: 100%; + float: none; + } + + .single-portfolio #full_width_portfolio .row .col.section-title h1, + .single-portfolio .row .col.section-title h1 { + letter-spacing: 0; + } + + .parallax_slider_outer.first-section, + body .parallax-disabled, + .parallax-disabled .nectar-slider-wrap { + margin-top: 0; + } + + .admin-bar.single-portfolio .project-title.parallax-effect { + margin-top: 0; + } + + #full_width_portfolio .project-title.parallax-effect { + position: relative; + top: 0; + } + + body.single-portfolio #full_width_portfolio .container-wrap { + padding-top: 2.1em; + } + + + .carousel-wrap[data-full-width="true"] { + padding: 0 9px; + } + + + body .carousel-wrap[data-full-width="true"] .carousel-heading h2 { + font-size: 16px; + top: 3px; + } + + .portfolio-items[data-col-num="elastic"] { + padding-left: 0; + } + + .portfolio-filters-inline #current-category { + display: none; + } + + body .portfolio-filters-inline .container > ul { + float: none; + text-align: center; + } + + .portfolio-filters-inline #sort-label, + .portfolio-filters-inline .container > ul #sort-label { + display: none; + } + + body .portfolio-filters-inline ul li, + body .portfolio-filters-inline ul ul { + float: none; + display: inline; + } + + body .container-wrap .portfolio-filters-inline.first-section, + body .container-wrap .portfolio-filters-inline.non-fw.first-section { + padding-top: 19px; + margin-top: 0; + } + + + body .container-wrap.portfolio-filters-inline.first-section.non-fw { + padding-top: 33px; + } + + body .portfolio-filters-inline .container > ul { + max-width: 100%; + margin-right: 0; + } + + +} + + + +@media only screen and (min-width: 470px) and (max-width: 600px) { + + body .carousel-wrap[data-full-width="true"] .portfolio-items .work-meta { + width: 66%; + } + + body .carousel-wrap[data-full-width="true"] .portfolio-items .work-meta { + font-size: 10px; + } + + body .portfolio-items .work-meta h4, + .portfolio-items[data-ps="6"] .work-meta h4 { + font-size: 15px; + line-height: 18px; + } + +} + + + +@media only screen and (min-width: 1600px) { + + /* boxed */ + #boxed .portfolio-items .elastic-portfolio-item { + width: 25%; + } + + body #boxed .portfolio-items .col.elastic-portfolio-item.tall, + body #boxed .portfolio-items .col.elastic-portfolio-item.regular { + width: 20%; + } + + body #boxed .portfolio-items .col.elastic-portfolio-item.wide { + width: 50%; + } + + body #boxed .portfolio-items .col.elastic-portfolio-item.wide_tall { + width: 50%; + } + + + body #boxed .default-style .portfolio-items .col.elastic-portfolio-item { + width: 21.72%!important; + } + + + /* constrained masonry */ + body .portfolio-items.constrain-max-cols .col.elastic-portfolio-item.wide{ + width: 50%; + } + + body .portfolio-items.constrain-max-cols .col.elastic-portfolio-item.wide_tall { + width: 50%; + } + + body .portfolio-items.constrain-max-cols .col.elastic-portfolio-item.tall, + body .portfolio-items.constrain-max-cols.masonry-items .col.elastic-portfolio-item.regular { + width: 25%; + } + + + +} + +@media only screen and (min-width: 1300px) and (max-width: 1600px) { + + + .portfolio-items .elastic-portfolio-item { + width: 25%; + } + + body .portfolio-items .col.elastic-portfolio-item.tall, + body .portfolio-items .col.elastic-portfolio-item.regular { + width: 20%; + } + + body .portfolio-items .col.elastic-portfolio-item.wide { + width: 50%; + } + + body .portfolio-items .col.elastic-portfolio-item.wide_tall { + width: 50%; + } + +} + + + +@media only screen and (min-width: 990px) and (max-width: 1300px) { + + + .portfolio-items .elastic-portfolio-item { + width: 33.3%; + } + + .portfolio-items[data-ps="6"] .col { + padding: 1.5%; + } + + body .portfolio-items .col.elastic-portfolio-item.wide_tall, + body .portfolio-items .col.elastic-portfolio-item.wide { + width: 66.6%; + } + + body .default-style .portfolio-items .col.elastic-portfolio-item { + width: 30.6%!important; + } + + body #boxed .default-style .portfolio-items .col.elastic-portfolio-item { + width: 29.7%!important; + } + + /* constrained cols */ + body .portfolio-items.constrain-max-cols.no-masonry .col.elastic-portfolio-item { + width: 25%; + } + + /* constrained cols */ + body .portfolio-items.constrain-max-cols.no-masonry .col.elastic-portfolio-item h3, + body .portfolio-items.constrain-max-cols.no-masonry .col.elastic-portfolio-item .style-5 h4 { + font-size: 14px; + line-height: 20px; + } + body .portfolio-items.constrain-max-cols.masonry-items .col.elastic-portfolio-item h3, + body .portfolio-items.constrain-max-cols.masonry-items .col.elastic-portfolio-item h4 { + font-size: 18px; + line-height: 25px; + } + + .portfolio-items.constrain-max-cols .work-item.style-4 .bottom-meta { + padding: 13px 13px 10px; + } + + .portfolio-items.constrain-max-cols .work-item.style-4 .bottom-meta p, + .portfolio-items.constrain-max-cols .work-item.style-5 p { + font-size: 12px; + line-height: 18px; + } + + + /* constrained masonry */ + body .portfolio-items.constrain-max-cols .col.elastic-portfolio-item.wide { + width: 25%; + } + + body .portfolio-items.constrain-max-cols .col.elastic-portfolio-item.wide_tall { + width: 25%; + } + + body .portfolio-items.constrain-max-cols .col.elastic-portfolio-item.tall, + body .portfolio-items.constrain-max-cols.masonry-items .col.elastic-portfolio-item.regular { + width: 25%; + } + +} + + +@media only screen and (min-width: 470px) and (max-width: 990px) { + + + .portfolio-items .elastic-portfolio-item, + body .post-area.masonry.meta_overlaid .masonry-blog-item.regular { + width: 50%; + } + + body .portfolio-items .col.elastic-portfolio-item.wide_tall, + body .portfolio-items .col.elastic-portfolio-item.wide { + width: 100%; + } + + body .portfolio-wrap.default-style { + padding: 0!important; + margin-top: 30px; + } + body .portfolio-wrap.default-style .portfolio-items { + margin: 0!important; + width: 100%!important; + padding: 0!important; + transform: none!important; + } + + body .default-style .portfolio-items .col.elastic-portfolio-item { + width: 100%!important; + margin: 0!important; + padding-bottom: 25px; + } + + /* boxed */ + #boxed .portfolio-items .elastic-portfolio-item { + width: 100%; + } + + #boxed .portfolio-items .elastic-portfolio-item img { + height: auto!important; + } + + body #boxed .default-style { + padding: 0!important; + margin-top: 30px; + } + + body #boxed .default-style .portfolio-items { + margin: 0!important; + width: 100%!important; + padding: 0!important; + } + + body #boxed .default-style .portfolio-items .col.elastic-portfolio-item { + width: 100%!important; + margin: 0!important; + padding-bottom: 25px; + } + +} + + + +@media only screen and (max-width: 690px) and (min-width: 470px) { + + body .portfolio-items.constrain-max-cols.masonry-items .col.elastic-portfolio-item h3 { + font-size: 18px; + line-height: 25px; + } + + .portfolio-items[data-ps="6"] .col, + .portfolio-items[data-ps="6"][data-col-num="elastic"] { + padding: 10px; + } + +} + + + +@media only screen and (max-width: 470px) { + + .portfolio-items .elastic-portfolio-item { + width: 100%; + } + + body .post-area.masonry.meta_overlaid .masonry-blog-item.regular { + width: 50%; + } + + .portfolio-items .elastic-portfolio-item img, + .masonry.meta_overlaid article.post.wide_tall .content-inner .post-featured-img img { + height: auto!important; + } + + .portfolio-items[data-ps="6"] .col, + .portfolio-items[data-ps="6"][data-col-num="elastic"] { + padding: 10px; + } + + body .default-style { + padding: 0!important; + margin-top: 30px; + } + + body .default-style .portfolio-items .col.elastic-portfolio-item { + width: 100%!important; + margin: 0!important; + padding-bottom: 25px; + } + + .portfolio-items .col.wide .work-item.style-3-alt[data-text-align="left"] .vert-center, + .portfolio-items .col.wide .work-item.style-3-alt[data-text-align="right"] .vert-center, + .portfolio-items .col.wide .work-item.style-3[data-text-align="left"] .vert-center, + .portfolio-items .col.wide .work-item.style-3[data-text-align="right"] .vert-center { + left: 50%!important; + right: auto!important; + margin-left: 0; + } + + body .portfolio-items .col .work-item.style-4 .work-info .bottom-meta { + bottom: 0; + transform: none; + position: relative; + } + + .portfolio-items .col .work-item.style-4:hover img { transform: none; } + body .portfolio-items .work-item.style-4 .work-info { + position: static; + padding: 0; + height: auto; + } + + + /* show portfolio items immediately on mobile */ + body .portfolio-items[data-col-num="elastic"]:not(.fullwidth-constrained):not(.isotope-activated) { + margin-left: -50vw; + left: 50%; + width: 100vw; + } + + body .portfolio-items:not(.isotope-activated):not(.carousel) .elastic-portfolio-item, + body .portfolio-items:not(.isotope-activated):not(.carousel) .col, + body .default-style .portfolio-items:not(.carousel) { + width: 100%!important; + position: relative!important; + top: auto!important; + left: 0!important; + margin-left: 0!important; + -webkit-transform: none!important; + transform: none!important; + } + + body .portfolio-items.isotope-activated .elastic-portfolio-item, + body .portfolio-items.isotope-activated .col { + transition: none!important; + } + + .portfolio-items:not(.carousel) .col .inner-wrap[data-animation], + .portfolio-items[data-ps="8"]:not(.carousel) .col .inner-wrap[data-animation="perspective"].animated .vert-center p, + .portfolio-items[data-ps="8"]:not(.carousel) .col .inner-wrap[data-animation="perspective"].animated .vert-center h3 { + opacity: 1!important; + -webkit-transform: none!important; + transform: none!important; + } + .portfolio-items[data-loading="lazy-load"] .col .inner-wrap .top-level-image { + opacity: 1; + } + +} + + +@media only screen and (max-height: 500px) { + + .nectar_fullscreen_zoom_recent_projects .project-slide .project-info h1, + .nectar_fullscreen_zoom_recent_projects .project-slide .project-info p { + max-width: 100%; + } + body .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls { + bottom: 15px; + } + body .nectar_fullscreen_zoom_recent_projects .project-slide .project-info a { + margin-top: 0; + top: -5px; + } + body .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next, + body .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev { + width: 36px; + height: 36px; + } + body .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next i, + body .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev i { + width: 36px; + } + body .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .next:after, + body .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls .prev:after { + width: 9px; + } +} + +@media only screen and (min-width: 1000px) { + body[data-ext-responsive="true"][data-full-width-header="false"] .nectar_fullscreen_zoom_recent_projects .zoom-slider-controls { + left: 90px; + } + body[data-ext-responsive="true"][data-full-width-header="false"] .nectar_fullscreen_zoom_recent_projects .dot-nav { + right: 90px; + } +} diff --git a/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/img/no-portfolio-item-small.jpg b/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/img/no-portfolio-item-small.jpg new file mode 100644 index 0000000..d01d908 Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/img/no-portfolio-item-small.jpg differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/img/transparent.png b/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/img/transparent.png new file mode 100644 index 0000000..094722d Binary files /dev/null and b/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/img/transparent.png differ diff --git a/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/js/salient-portfolio.js b/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/js/salient-portfolio.js new file mode 100644 index 0000000..56db32b --- /dev/null +++ b/cloned-websites/mintel_me/wp-content/plugins/salient-portfolio/js/salient-portfolio.js @@ -0,0 +1,1581 @@ +/** + * Salient Portfolio. + * + * @author ThemeNectar + */ + /* global Waypoint */ + /* global imagesLoaded */ + /* global nectar_theme_info */ + +(function( $ ) { + + "use strict"; + + /*-------------------------------------------------------------------------*/ + /* 1. Salient Portfolio Element + /*-------------------------------------------------------------------------*/ + + function SalientPortfolio(el, fullWidthContentColumns, fullscreenSelector, fullWidthSections) { + + this.$el = el; + this.fullWidthContentColumns = fullWidthContentColumns; + this.fullWidthSections = fullWidthSections; + + this.$window = $(window); + this.onMobile = false; + this.clearIsoAnimation = null; + this.mediaQuerySize = ''; + this.fullscreenSelector = fullscreenSelector; + this.initialized = false; + this.total = 0; + this.totalLoaded = 0; + + this.mouseEventHandler(); + this.portfolioFiltersInit(); + this.portfolioInit(); + this.resizeHandler(); + + if( this.$el.find('.inner-wrap[data-animation="perspective"]').length > 0) { + this.perspectiveAnimationInit(); + } + + this.portfolioAccentColor(); + this.isotopeCatSelection(); + this.portfolioCommentOrder(); + + } + + SalientPortfolio.prototype.portfolioInit = function() { + + var that = this; + + this.total = this.$el.find('img').length; + + // Lazy loading gallery + if( this.$el.parents('.wpb_gallery').length > 0 && this.$el.find('.nectar-lazy').length > 0 ) { + + this.fullWidthSections(); + + // Set image sizes + this.$el.find('img.nectar-lazy:not(.loaded)').each(function() { + + $(this).css({ + 'height': '', + 'width' : '' + }); + + var heightAttr = parseInt($(this).attr('height')); + var widthAttr = parseInt($(this).attr('width')); + var width = $(this).width(); + var dimensions = that.imageAspectRatio( widthAttr, heightAttr, width, 2000 ); + + $(this).css({ + 'height': dimensions.height + 'px', + 'width' : dimensions.width + 'px' + }); + + }); + + // Start masonry + this.masonryInit('0s'); + this.initialized = true; + + // Image loading progress. + $(window).on('salient-portfolio-recalculate', this.imageLoadLayout.bind(this) ); + + } + // Regular Portfolio. + else { + this.$el.imagesLoaded(function(){ + that.masonryInit('0.6s'); + that.initialized = true; + }); + } + }; + + SalientPortfolio.prototype.imageLoadLayout = function() { + this.totalLoaded = this.totalLoaded + 1; + + if( this.initialized == true ) { + this.$el.isotope('layout'); + } + }; + + SalientPortfolio.prototype.imageAspectRatio = function(srcWidth, srcHeight, maxWidth, maxHeight) { + var ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight); + return { width: srcWidth*ratio, height: srcHeight*ratio }; + } + + SalientPortfolio.prototype.masonryInit = function(transitionDur) { + + var instance = this; + + // initial call to setup isotope. + var $layoutMode = ( instance.$el.hasClass('masonry-items')) ? 'packery' : 'fitRows'; + var $startingFilter = (instance.$el.attr('data-starting-filter') != '' && instance.$el.attr('data-starting-filter') != 'default') ? '.' + instance.$el.attr('data-starting-filter') : '*'; + var $rtlLayout = ( $('body.rtl').length > 0 ) ? false : true; + instance.beforeReLayout(); + + instance.$el.addClass('isotope-activated'); + + instance.$el.isotope({ + itemSelector : '.element', + filter: $startingFilter, + layoutMode: $layoutMode, + transitionDuration: transitionDur, + isOriginLeft: $rtlLayout, + packery: { + gutter: 0 + } + }).isotope( 'layout' ); + + // Starting filters. + if($startingFilter != '*'){ + + // Custom starting filter. + if( instance.$el.parent().parent().find('.portfolio-filters').length > 0 ) { + instance.$el.parent().parent().find('.portfolio-filters ul a[data-filter="'+$startingFilter+'"]').trigger('click'); + } else { + instance.$el.parent().parent().find('.portfolio-filters-inline ul a[data-filter="'+$startingFilter+'"]').trigger('click'); + } + + } else { + + // Default filter of "all". + if(instance.$el.parent().parent().find('.portfolio-filters-inline[data-alignment="left"]').length > 0 || + instance.$el.parent().parent().find('.portfolio-filters-inline[data-alignment="center"]').length > 0) { + instance.$el.parent().parent().find('.portfolio-filters-inline .container > ul > li:nth-child(1) a').trigger('click').addClass('active'); + } else { + instance.$el.parent().parent().find('.portfolio-filters-inline .container > ul > li:nth-child(2) a').trigger('click').addClass('active'); + } + + } + + + if(instance.$el.find('.inner-wrap').attr('data-animation') === 'none') { + instance.$el.find('.inner-wrap').removeClass('animated'); + } + + instance.loadAnimationWaypoint(); + $(window).on('nectar-waypoints-reinit', instance.loadAnimationWaypoint.bind(instance)); + + // Call the reLayout to get things rollin'. + instance.masonryZindex(); + var self = this; + setTimeout(function(){ instance.masonryZindex(); },800); + + // Inside full width content. + if(instance.$el.parents('.full-width-content').length > 0) { + setTimeout(function(){ instance.fullWidthContentColumns(); },200); + } + + // fadeout the loading animation + $('.portfolio-loading').stop(true,true).fadeOut(200); + + + }; + + + SalientPortfolio.prototype.resizeHandler = function(){ + + var self = this; + + this.$window.on('resize', function(){ + + setTimeout(function(){ + self.reLayout(); + self.masonryZindex(); + self.portfolioCommentOrder(); + },30); + + }); + + }; + + + SalientPortfolio.prototype.mouseEventHandler = function() { + + // sorting + if( this.$el.parent().parent().find('.portfolio-filters').length > 0 ) { + this.$el.parent().parent().find('.portfolio-filters ul li a').on('click', this.isoClickFilter.bind(this)); + } else { + this.$el.parent().parent().find('.portfolio-filters-inline ul li a').on('click', this.isoClickFilter.bind(this)); + } + + if( $('body.page-template-template-portfolio').length > 0 && $('#page-header-wrap .portfolio-filters').length > 0 ) { + $('#page-header-wrap .portfolio-filters ul li a').on('click', this.isoClickFilter.bind(this)); + } + + // portfolio sort + $('body').on('mouseenter','.portfolio-filters',function(){ + if(!this.onMobile) { + $(this).find('> ul').stop(true,true).slideDown(500,'easeOutExpo'); + } + $(this).find('a#sort-portfolio span').html($(this).find('a#sort-portfolio').attr('data-sortable-label')); + }); + + $('body').on('mouseleave','.portfolio-filters',function(){ + var $activeCat = $(this).find('a.active').html(); + if( typeof $activeCat == 'undefined' || $activeCat.length == 0) { + $activeCat = $(this).attr('data-sortable-label'); + } + + $(this).find('a#sort-portfolio span').html($activeCat); + + if(!this.onMobile) { + $(this).find('> ul').stop(true,true).slideUp(500,'easeOutExpo'); + } + }); + + // portfolio selected category + $('body').on('click','.portfolio-filters ul li a', function(){ + $(this).parents('.portfolio-filters').find('#sort-portfolio span').html($(this).html()); + }); + + // portfolio prevent jump on parent dropdown click + $('body').on('click','.portfolio-filters > a#sort-portfolio', function(){ + return false; + }); + + // portfolio description remove on hover + var $tmpTitle = ''; + $('.portfolio-items > .col a[title]').on('mouseenter', function () { + if( $(this).attr('title').length > 0 ) { + $tmpTitle = $(this).attr('title'); + $(this).attr('title', ''); + } + }); + $('.portfolio-items > .col a[title]').on('mouseleave', function () { + if( $tmpTitle.length > 0 ) { + $(this).attr('title', $tmpTitle); + } + }); + + $('.portfolio-items > .col a[title]').on('mousedown', function () { + if( $tmpTitle.length > 0 ) { + $(this).attr('title', $tmpTitle); + } + }); + + + }; + + + SalientPortfolio.prototype.portfolioFiltersInit = function() { + + // Mobile sort menu + if( $('body').hasClass('mobile') || navigator.userAgent.match(/(iPad|IEMobile)/) ) { + + this.onMobile = true; + + $('body').off('mouseenter mouseleave', '.portfolio-filters'); + + this.$el.parent().parent().find('.portfolio-filters > a').on('click',function(e) { + if(e.originalEvent !== undefined) { + $(this).parents('.portfolio-filters').find('> ul').stop(true,true).slideToggle(600,'easeOutCubic'); + } + }); + + this.$el.parent().parent().find('.portfolio-filters ul li a').on('click',function(e) { + if(e.originalEvent !== undefined) { + $(this).parents('.portfolio-filters').find('> ul').stop(true,true).slideToggle(600,'easeOutCubic'); + + var $activeCat = $(this).html(); + $(this).parents('.portfolio-filters').find('a#sort-portfolio span').html($activeCat); + + } + }); + + } + + // portfolio more details page menu highlight + $('body.single-portfolio #header-outer nav > ul > li > a:contains("Portfolio")').parents('li').addClass('current-menu-item'); + + // Portfolio external links. + $(".portfolio-items").find("a[href*='http://']:not([href*='" + window.location.hostname + "'])").attr("target", "_blank"); + $(".recent_projects_widget").find("a[href*='http://']:not([href*='" + window.location.hostname + "'])").attr("target", "_blank"); + + $(".portfolio-items").find("a[href*='https://']:not([href*='" + window.location.hostname + "']):not([href*='youtube.com']):not([href*='vimeo.com'])").attr("target", "_blank"); + $(".recent_projects_widget").find("a[href*='https://']:not([href*='" + window.location.hostname + "'])").attr("target", "_blank"); + + }; + + + + SalientPortfolio.prototype.isoClickFilter = function(e) { + + var $timeout; + var self = this; + + if(window.innerWidth > 690 && !navigator.userAgent.match(/(Android|iPod|iPhone|iPad|IEMobile|Opera Mini)/)){ + + clearTimeout($timeout); + $timeout = setTimeout(function(){ self.masonryZindex(); },600); + + } + + var selector = $(e.target).attr('data-filter'); + + this.$el.isotope({ filter: selector }).attr('data-current-cat',selector); + + // fade in all incase user hasn't scrolled down yet + if(this.$el.find('.inner-wrap[data-animation="none"]').length === 0) { + this.$el.find('.col').addClass('animated-in'); + } + + // active classes + $(e.target).closest('ul:not(.children)').find('li a').removeClass('active'); + $(e.target).addClass('active'); + + if($(e.target).parents('.portfolio-filters-inline').length > 0) { + $(e.target).parents('.portfolio-filters-inline').find('#current-category').html($(e.target).html()); + } + + // update pp + if(this.$el.find('a[rel^="prettyPhoto"]').length > 0) { + setTimeout(this.updatePrettyPhotoGallery.bind(this),170); + } + + else { + setTimeout(this.updateMagPrettyPhotoGallery.bind(this),170); + } + + // Resize. + if (typeof window.Waypoint != 'undefined') { + Waypoint.refreshAll(); + } + + return false; + }; + + + + SalientPortfolio.prototype.loadAnimationWaypoint = function() { + + + var $portfolioOffsetPos = ($('#nectar_fullscreen_rows').length > 0) ? '200%' : '90%'; + var instance = this; + + if(this.$el.find('.inner-wrap').attr('data-animation') === 'none') { return; } + + this.$el.find('.col').each(function(i) { + + var $that = $(this); + + //loaded visible + if($(this).visible(true) || $(this).parents('#nectar_fullscreen_rows').length > 0) { + + if( $(this).parents('#nectar_fullscreen_rows').length > 0 && + instance.fullscreenSelector.length > 0 && + $(this).parents(instance.fullscreenSelector).length == 0 ) { + return true; + } + + var $portfolioAnimationDelay = ($that.is('[data-masonry-type="photography"].masonry-items')) ? 90 : 115; + $(this).delay($portfolioAnimationDelay *i).queue(function(next){ + $(this).addClass("animated-in"); + next(); + }); + + } else { + + // not already visible + var waypoint = new Waypoint({ + element: $that, + handler: function() { + + if($that.parents('.wpb_tab').length > 0 && $that.parents('.wpb_tab').css('visibility') === 'hidden' || $that.hasClass('animated-in')) { + waypoint.destroy(); + return; + } + + var $portfolioAnimationDelay = ($that.is('[data-masonry-type="photography"].masonry-items')) ? 85 : 100; + + setTimeout(function(){ + $that.addClass("animated-in"); + },$portfolioAnimationDelay * $that.attr('data-delay-amount')); + + + waypoint.destroy(); + }, + offset: $portfolioOffsetPos + + }); //waypoint + } + + }); //each + + + }; + + SalientPortfolio.prototype.perspectiveAnimationInit = function() { + + var lastScrollTop = $(window).scrollTop(); + var self = this; + + this.$el.css('perspective-origin','50% '+ (lastScrollTop + $(window).height()) + 'px'); + + requestAnimationFrame(updatePerspectiveOrigin); + + function updatePerspectiveOrigin() { + + var scrollTop = $(window).scrollTop(); + + if (lastScrollTop === scrollTop) { + requestAnimationFrame(updatePerspectiveOrigin); + return; + } else { + lastScrollTop = scrollTop; + self.$el.css('perspective-origin','50% '+ (lastScrollTop + $(window).height()) + 'px'); + requestAnimationFrame(updatePerspectiveOrigin); + } + } + + }; + + + + + SalientPortfolio.prototype.portfolioItemWidths = function() { + + var isFullWidth = this.$el.attr('data-col-num') === 'elastic'; + + if(isFullWidth) { + + var $elWidth = Math.floor(this.$el.width()); + var $colSize = 4; + var $mult = (this.mediaQuerySize === 'one') ? 1 : 2; + + if(this.mediaQuerySize === 'five') { + $colSize = 5; + } + else if(this.mediaQuerySize === 'four') { + $colSize = 4; + } + else if(this.mediaQuerySize === 'three') { + $colSize = 3; + } + else if(this.mediaQuerySize === 'two') { + $colSize = 2; + } + else if(this.mediaQuerySize === 'one') { + $colSize = 1; + } + + if(this.$el.is('[data-ps="6"]') && $colSize == 5) { + $colSize = 4; + } + + // photography + if( isFullWidth && this.$el.is('[data-masonry-type="photography"]') && !this.$el.hasClass('no-masonry') ) { + if(this.mediaQuerySize === 'five') { + $colSize = 6; + } + if(this.mediaQuerySize === 'four') { + $colSize = 5; + } + if(this.mediaQuerySize === 'three') { + $colSize = 4; + } + } + + if( $elWidth % $colSize === 0 ) { + this.$el.find('.elastic-portfolio-item:not(.wide):not(.wide_tall)').css('width',Math.floor($elWidth/$colSize) +'px'); + this.$el.find('.elastic-portfolio-item.wide, .elastic-portfolio-item.wide_tall').css('width',Math.floor($elWidth/$colSize*$mult) +'px'); + } else { + + var $loopEndNum = ($(window).width() > 1000) ? 6 : 3; + if(this.$el.hasClass('fullwidth-constrained') && $(window).width() > 1000) { + $loopEndNum = 4; + } + + // find closest number to give 0. + for(var i = 1; i<$loopEndNum; i++) { + if( ($elWidth - i) % $colSize === 0 ) { + this.$el.find('.elastic-portfolio-item:not(.wide):not(.wide_tall)').css('width',($elWidth-i)/$colSize +'px'); + this.$el.find('.elastic-portfolio-item.wide, .elastic-portfolio-item.wide_tall').css('width',($elWidth-i)/$colSize*$mult +'px'); + } + } + + } + + } // isFullWidth + + }; + + + + SalientPortfolio.prototype.masonryZindex = function() { + + // escape if no browser support + if($('body .portfolio-items:not(".carousel") > .col').length > 0 && + $('body .portfolio-items:not(".carousel") > .col').offset().left) { + + var self = this; + + $('body .portfolio-items:not(".carousel")').each(function(){ + + var $coords = {}; + var $zindexRelation = {}; + var $that = $(this); + + $(this).find('> .col').each(function(){ + var $itemOffset = $(this).offset(); + $itemOffset = $itemOffset.left; + + $coords[$(this).index()] = $itemOffset; + $(this).css('z-index',Math.abs(Math.floor($(this).offset().left/20))); + }); + + var $corrdsArr = jQuery.map($coords, function (value) { return value; }); + + $corrdsArr = self.removeDuplicates($corrdsArr); + $corrdsArr.sort(function(a,b){ return a-b; }); + + for(var i = 0; i < $corrdsArr.length; i++){ + $zindexRelation[$corrdsArr[i]] = i; + } + + jQuery.each($coords,function(k,v){ + + var $zindex; + var $coordCache = v; + jQuery.each($zindexRelation,function(k,v){ + if($coordCache === k) { + $zindex = v; + } + }); + + $that.find('> .col:eq('+k+')').attr('data-delay-amount',$zindex); + }); + + + }); + + + + } + + + }; + + + SalientPortfolio.prototype.removeDuplicates = function(inputArray) { + var i; + var len = inputArray.length; + var outputArray = []; + var temp = {}; + + for (i = 0; i < len; i++) { + temp[inputArray[i]] = 0; + } + for (i in temp) { + outputArray.push(i); + } + return outputArray; + }; + + + + SalientPortfolio.prototype.beforeReLayout = function() { + + var self = this; + clearTimeout(this.clearIsoAnimation); + + this.$el.find('.col').addClass('no-transition'); + + this.clearIsoAnimation = setTimeout(function(){ + self.$el.find('.col').removeClass('no-transition'); + },700); + + + if(window.innerWidth > 1600) { + + if(this.$el.hasClass('fullwidth-constrained')) { + if(this.$el.is('[data-masonry-type="photography"]')) { + this.mediaQuerySize = 'three'; + } else { + this.mediaQuerySize = 'four'; + } + + } else { + if(this.$el.hasClass('constrain-max-cols')) { + this.mediaQuerySize = 'four'; + } else { + this.mediaQuerySize = 'five'; + } + } + + } else if(window.innerWidth <= 1600 && window.innerWidth > 1300){ + + if(this.$el.hasClass('fullwidth-constrained')) { + if(this.$el.is('[data-masonry-type="photography"]')) { + this.mediaQuerySize = 'three'; + } else { + this.mediaQuerySize = 'four'; + } + } else { + this.mediaQuerySize = 'four'; + } + } else if(window.innerWidth <= 1300 && window.innerWidth > 990){ + + if(this.$el.hasClass('constrain-max-cols')) { + this.mediaQuerySize = 'four'; + } else { + this.mediaQuerySize = 'three'; + } + + } else if(window.innerWidth <= 990 && window.innerWidth > 470){ + this.mediaQuerySize = 'two'; + } else if(window.innerWidth <= 470){ + this.mediaQuerySize = 'one'; + } + + // boxed + if($('#boxed').length > 0) { + if(window.innerWidth > 1300){ + this.mediaQuerySize = 'four'; + } else if(window.innerWidth < 1300 && window.innerWidth > 990){ + + if(this.$el.hasClass('constrain-max-cols')) { + this.mediaQuerySize = 'four'; + } else { + this.mediaQuerySize = 'three'; + } + + } else if(window.innerWidth < 990){ + this.mediaQuerySize = 'one'; + } + + } + + + // set widths + this.portfolioItemWidths(); + + + // sizing for large items + if(!this.$el.is('[data-bypass-cropping="true"]')) { + + if( this.$el.find('.col.elastic-portfolio-item[class*="regular"]:visible').length > 0 || + this.$el.find('.col.elastic-portfolio-item[class*="wide"]:visible').length > 0 || + this.$el.find('.col.elastic-portfolio-item[class*="tall"]:visible').length > 0 || + this.$el.find('.col.elastic-portfolio-item[class*="wide_tall"]:visible').length > 0) { + + var $gutterSize = (this.$el.is('[data-gutter*="px"]') && this.$el.attr('data-gutter').length > 0 && this.$el.attr('data-gutter') != 'none') ? parseInt(this.$el.attr('data-gutter')) : 0; + var multipler = (window.innerWidth > 470) ? 2 : 1; + + // reset height for calcs + var $itemClassForSizing = 'regular'; + + if(this.$el.find('.col.elastic-portfolio-item[class*="regular"]:visible').length === 0 && + this.$el.find('.col.elastic-portfolio-item.wide:visible').length > 0) { + + $itemClassForSizing = 'wide'; + + } else if(this.$el.find('.col.elastic-portfolio-item[class*="regular"]:visible').length === 0 && + this.$el.find('.col.elastic-portfolio-item.wide_tall:visible').length > 0) { + + $itemClassForSizing = 'wide_tall'; + multipler = 1; + + } else if(this.$el.find('.col.elastic-portfolio-item[class*="regular"]:visible').length === 0 && + this.$el.find('.col.elastic-portfolio-item.tall:visible').length > 0) { + + $itemClassForSizing = 'tall'; + multipler = 1; + + } + + this.$el.find('.col.elastic-portfolio-item.'+$itemClassForSizing+' img').css('height','auto'); + + var tallColHeight = this.$el.find('.col.elastic-portfolio-item.'+$itemClassForSizing+':visible img').height(); + + this.$el.find('.col.elastic-portfolio-item[class*="tall"] img, .col.elastic-portfolio-item.wide img, .col.elastic-portfolio-item.regular img').removeClass('auto-height'); + this.$el.find('.col.elastic-portfolio-item[class*="tall"] img:not(.custom-thumbnail)').css('height',(tallColHeight*multipler) + ($gutterSize*2)); + + if($itemClassForSizing === 'regular' || $itemClassForSizing === 'wide') { + this.$el.find('.col.elastic-portfolio-item.wide img:not(.custom-thumbnail), .col.elastic-portfolio-item.regular img:not(.custom-thumbnail)').css('height',tallColHeight); + } else { + this.$el.find('.col.elastic-portfolio-item.wide img:not(.custom-thumbnail), .col.elastic-portfolio-item.regular img:not(.custom-thumbnail)').css('height',(tallColHeight/2) - ($gutterSize*2)); + } + + this.$el.find('.col.elastic-portfolio-item[class*="tall"] .parallaxImg').css('height',(tallColHeight*multipler) + parseInt(this.$el.find('.col.elastic-portfolio-item').css('padding-bottom'))*2 ); + + if($itemClassForSizing === 'regular' || $itemClassForSizing === 'wide') { + this.$el.find('.col.elastic-portfolio-item.regular .parallaxImg, .col.elastic-portfolio-item.wide .parallaxImg').css('height',tallColHeight); + } else { + this.$el.find('.col.elastic-portfolio-item.regular .parallaxImg, .col.elastic-portfolio-item.wide .parallaxImg').css('height',(tallColHeight/2) - ($gutterSize*2)); + } + + } else { + this.$el.find('.col.elastic-portfolio-item[class*="tall"] img, .col.elastic-portfolio-item.wide img, .col.elastic-portfolio-item.regular img').addClass('auto-height'); + } + + } // bypass cropping option + + // non masonry + if(this.$el.hasClass('no-masonry') && this.$el.find('.col:first:visible').length > 0 && this.$el.parents('.wpb_gallery').length === 0){ + + // skip style 9 + if( !this.$el.is('[data-ps="9"]') && !this.$el.is('[data-bypass-cropping="true"]') ) { + + // reset height for calcs + this.$el.find('.col img').css('height','auto'); + var tallColHeight = this.$el.find('.col:first:visible img').height(); + this.$el.find('.col img:not(.custom-thumbnail)').css('height',tallColHeight); + this.$el.find('.col .parallaxImg').css('height',tallColHeight); + } + + } + + }; + + SalientPortfolio.prototype.reLayout = function() { + + this.beforeReLayout(); + + if(this.$el.isotope()) { + this.$el.isotope( 'layout' ); + } + + + }; + + + + SalientPortfolio.prototype.updatePrettyPhotoGallery = function(){ + + + if(this.$el.find('a[rel^="prettyPhoto"]').length > 0) { + + var $unique_id = Math.floor(Math.random()*10000); + var $currentCat = this.$el.attr('data-current-cat'); + this.$el.find('.col'+$currentCat).find('a[rel^="prettyPhoto"]').attr('rel','prettyPhoto['+$unique_id+'_sorted]'); + + } + + + }; + + SalientPortfolio.prototype.updateMagPrettyPhotoGallery = function() { + + + var $currentCat = this.$el.attr('data-current-cat'); + var $unique_id = Math.floor(Math.random()*10000); + + if(this.$el.is('[data-lightbox-only="true"]')){ + + this.$el.find('.col').each(function(){ + + $(this).find('a.gallery').removeClass('gallery').removeClass('magnific'); + + if($(this).is($currentCat)) { + + // parallax styles + if($(this).find('.parallaxImg-wrap').length > 0) { + + if($('body[data-ls="fancybox"]').length > 0) { + $(this).find('.work-item > a:not([target="_blank"])').attr('data-fancybox','group_'+$unique_id); + } else { + $(this).find('.work-item > a:not([target="_blank"])').addClass('gallery').addClass('magnific'); + } + + } else { + // others + + if($('body[data-ls="fancybox"]').length > 0) { + $(this).find('.work-item a:not([target="_blank"])').attr('data-fancybox','group_'+$unique_id); + } else { + $(this).find('.work-item a:not([target="_blank"])').addClass('gallery').addClass('magnific'); + } + + } + + } + + }); + + } + + else if (this.$el.find('.work-item.style-1').length > 0){ + + this.$el.find('.col').each(function(){ + + $(this).find('a.gallery').removeClass('gallery').removeClass('magnific'); + + if($(this).is($currentCat)) { + + if($('body[data-ls="fancybox"]').length > 0) { + $(this).find('.work-info .vert-center a:first-of-type').attr('data-fancybox','group_'+$unique_id); + } + else { + $(this).find('.work-info .vert-center a:first-of-type').addClass('gallery').addClass('magnific'); + } + + } + + }); + } + + + }; + + + + SalientPortfolio.prototype.portfolioAccentColor = function() { + + + this.$el.find('.col').each(function(){ + if ($(this).has('[data-project-color]')) { + $(this).find('.work-info-bg, .bottom-meta').css('background-color',$(this).attr('data-project-color')); + + // style5 + $(this).find('.parallaxImg-rendered-layer .bg-overlay').css('border-color',$(this).attr('data-project-color')); + + } + }); + + }; + + + + SalientPortfolio.prototype.isotopeCatSelection = function() { + + var isotopeCatArr = []; + var $portfolioCatCount = 0; + this.$el.parent().parent().find('div[class^=portfolio-filters] ul li').each(function(i){ + if($(this).find('a').length > 0) { + isotopeCatArr[$portfolioCatCount] = $(this).find('a').attr('data-filter').substring(1); + $portfolioCatCount++; + } + }); + + + // ice the first (all) + isotopeCatArr.shift(); + + + var allItemCats = ''; + var self = this; + + this.$el.find('> div').each(function(){ + allItemCats += $(this).attr('data-project-cat'); + }); + allItemCats = allItemCats.split(' '); + + // remove the extra item on the end of blank space + allItemCats.pop(); + + // make sure the array has no duplicates + var itemCats = []; + $.each(allItemCats, function(i, el){ + if($.inArray(el, itemCats) === -1) { + itemCats.push(el); + } + }); + + + + // if user has chosen a set of filters to display - only show those + var $userSelectedCats; + + if(this.$el.is('[data-categories-to-show]') && + this.$el.attr('data-categories-to-show').length != 0 && + this.$el.attr('data-categories-to-show') != 'all') { + + $userSelectedCats = this.$el.attr('data-categories-to-show').replace(/,/g , ' '); + $userSelectedCats = $userSelectedCats.split(' '); + + if(!this.$el.hasClass('infinite_scroll')) { + this.$el.removeAttr('data-categories-to-show'); + } + + } else { + $userSelectedCats = itemCats; + } + + + // Find which categories are actually on the current page + var notFoundCats = []; + jQuery.grep(isotopeCatArr, function(el) { + + if (jQuery.inArray(el, itemCats) == -1) notFoundCats.push(el); + if (jQuery.inArray(el, $userSelectedCats) == -1) notFoundCats.push(el); + + }); + + // manipulate the list + if(notFoundCats.length != 0){ + + this.$el.parent().parent().find('div[class^=portfolio-filters] ul li').each(function(){ + if($(this).find('a').length > 0) { + if( jQuery.inArray($(this).find('a').attr('data-filter').substring(1), notFoundCats) != -1 ){ + + if($(this).find('> ul.children').length > 0) { + $(this).find('> a').hide(); + } else { + $(this).hide(); + } + + } else { + $(this).show(); + } + } + }); + + } + + + }; + + + + + + // portfolio single comment order + SalientPortfolio.prototype.portfolioCommentOrder = function(){ + + if($('body').hasClass('mobile') && $('body').hasClass('single-portfolio') && $('#respond').length > 0){ + $('#sidebar').insertBefore('.comments-section'); + } + + else if($('body').hasClass('single-portfolio') && $('#respond').length > 0) { + $('#sidebar').insertAfter('.post-area'); + } + + }; + + + + + + /*-------------------------------------------------------------------------*/ + /* 2. Salient Fullscreen Recent Project Slider + /*-------------------------------------------------------------------------*/ + + function SalientRecentProjectsFullScreen(el) { + + this.$el = el; + this.rotationSpeed = (el.attr('data-autorotate').length > 0) ? parseInt(el.attr('data-autorotate')) : false; + this.rotationInterval = null; + this.$window = $(window); + + this.splitLineText(); + this.positionFix(); + this.sliderCalcs(); + this.sliderInit(); + this.resizeHandler(); + } + + + SalientRecentProjectsFullScreen.prototype.resizeHandler = function() { + $(window).resize(this.sliderCalcs.bind(this)); + $(window).resize(this.splitLineText.bind(this)); + }; + + SalientRecentProjectsFullScreen.prototype.positionFix = function() { + + // remove outside of column setups + + if(this.$el.parents('.span_12').find('> .wpb_column').length > 1){ + var $zoomProjects = this.$el.clone(); + var $zoomProjectsRow = this.$el.parents('.span_12'); + this.$el.remove(); + $zoomProjectsRow.prepend($zoomProjects); + this.$el = $zoomProjects; + } + + }; + + + SalientRecentProjectsFullScreen.prototype.sliderCalcs = function() { + + var $bodyBorderSize = ($('.body-border-top').length > 0 && $(window).width() > 1000) ? $('.body-border-top').height(): 0; + + // frontend editor fix + var usingFrontEndEditor = (typeof window.vc_iframe === 'undefined') ? false : true; + + if(usingFrontEndEditor) { + if(this.$el.parents('.wpb_row').parent().index() > 1) { + this.$el.parents('.first-section').removeClass('first-section'); + } + } + + if(this.$el.parents('.first-section').length > 0) { + this.$el.css('height',$(window).height() - this.$el.offset().top - $bodyBorderSize); + } else { + this.$el.css('height',$(window).height()); + } + + + }; + + + + SalientRecentProjectsFullScreen.prototype.sliderRotate = function(){ + + if($('body.vc_editor').length > 0) { return; } + + var $controlSelector = (this.$el.find('.project-slides').length > 0) ? '.dot-nav > span' : '.controls > li'; + var $controlSelectorInd = (this.$el.find('.project-slides').length > 0) ? 'span' : ' li'; + + var $slideLength = this.$el.find($controlSelector).length; + var $currentSlide = this.$el.find($controlSelector+'.active').index(); + + if( $currentSlide+1 === $slideLength) { + this.$el.find($controlSelector+':first-child').trigger('click'); + } else { + this.$el.find($controlSelector+'.active').next($controlSelectorInd).trigger('click'); + } + + }; + + SalientRecentProjectsFullScreen.prototype.sliderResetRotate = function(){ + clearInterval(this.rotationInterval); + + // reinit autorotate + if(this.rotationSpeed != 0) { + var slide_interval = (this.rotationSpeed < 100) ? 4000 : this.rotationSpeed; + this.rotationInterval = setInterval(this.sliderRotate.bind(this),slide_interval); + } + + }; + + + SalientRecentProjectsFullScreen.prototype.splitLineText = function() { + + + var $slideClass = (this.$el.find('.project-slides').length > 0) ? '.project-slide' : '.nectar-recent-post-slide'; + var $slideInfoClass = (this.$el.find('.project-slides').length > 0) ? '.project-info h1' : '.inner-wrap h2 a'; + + this.$el.find($slideClass).each(function(i){ + + $(this).find($slideInfoClass).each(function(){ + + var textArr = $(this).text(); + textArr = textArr.trim(); + textArr = textArr.split(' '); + + $(this)[0].innerHTML = ''; + + for(var i=0;i '; + } + + }); + + $(this).find($slideInfoClass + ' > span').wrapInner(''); + + }); + + + }; + + + SalientRecentProjectsFullScreen.prototype.sliderInit = function() { + + + var $projLength = this.$el.find('.project-slide').length; + var self = this; + + // autorotate + if(this.rotationSpeed != 0) { + var slide_interval = (this.rotationSpeed < 100) ? 4000 : this.rotationSpeed; + this.rotationInterval = setInterval(this.sliderRotate.bind(this),slide_interval); + } + + // next/prev + this.$el.find('.zoom-slider-controls .next').on('click',function(){ + + // thres + var $that = $(this); + if(!$that.parent().hasClass('timeout')) { + setTimeout(function(){ + $that.parent().removeClass('timeout'); + },1150); + } + + if($(this).parent().hasClass('timeout')) { + return false; + } + + $(this).parent().addClass('timeout'); + + // switch logic + self.sliderResetRotate(); + + var $current = $(this).parents('.nectar_fullscreen_zoom_recent_projects').find('.project-slide.current'); + var $sliderInstance = $(this).parents('.nectar_fullscreen_zoom_recent_projects'); + + $sliderInstance.find('.project-slide').removeClass('next').removeClass('prev'); + $sliderInstance.find('.project-slide').each(function(i){ + + if(i < $current.index()+1 && $current.index()+1 < $projLength) { + $(this).addClass('prev'); + } + else { + $(this).addClass('next'); + } + + }); + + if($current.index()+1 === $projLength) { + $sliderInstance.find('.project-slide:first-child').addClass('no-trans'); + } + + setTimeout(function(){ + + if($current.index()+1 === $projLength) { + $sliderInstance.find('.project-slide:first-child') + .removeClass('no-trans') + .removeClass('next') + .removeClass('prev') + .addClass('current'); + $sliderInstance.find('.project-slide:last-child') + .removeClass('next') + .removeClass('current') + .addClass('prev'); + } else { + + $current + .next('.project-slide') + .removeClass('next') + .removeClass('prev') + .addClass('current'); + $current + .removeClass('current') + .addClass('prev'); + } + + // update dot nav + if($sliderInstance.find('.dot-nav').length > 0) { + $sliderInstance.find('.dot-nav span.active').removeClass('active'); + $sliderInstance.find('.dot-nav span:nth-child('+ ($sliderInstance.find('.project-slide.current').index() + 1) +')').addClass('active'); + } + + },30); + + return false; + + }); + + this.$el.find('.zoom-slider-controls .prev').on('click',function(){ + + // thres + var $that = $(this); + if(!$that.parent().hasClass('timeout')) { + setTimeout(function(){ + $that.parent().removeClass('timeout'); + },1150); + } + + if($(this).parent().hasClass('timeout')) { + return false; + } + + $(this).parent().addClass('timeout'); + + self.sliderResetRotate(); + + // switch logic + var $current = $(this).parents('.nectar_fullscreen_zoom_recent_projects').find('.project-slide.current'); + var $sliderInstance = $(this).parents('.nectar_fullscreen_zoom_recent_projects'); + + + $sliderInstance.find('.project-slide').removeClass('next').removeClass('prev'); + $sliderInstance.find('.project-slide').each(function(i){ + + if(i < $current.index() || $current.index() == 0) { + $(this).addClass('prev'); + } + else { + $(this).addClass('next'); + } + }); + + if($current.index() == 0) { + $sliderInstance.find('.project-slide:last-child').addClass('no-trans'); + } + + setTimeout(function(){ + + if($current.index() == 0) { + + $sliderInstance.find('.project-slide:last-child') + .removeClass('no-trans') + .removeClass('next') + .removeClass('prev') + .addClass('current'); + $sliderInstance.find('.project-slide:first-child') + .removeClass('next') + .removeClass('prev') + .removeClass('current') + .addClass('next'); + + } else { + $current.prev('.project-slide').removeClass('next').removeClass('prev').addClass('current'); + $current.removeClass('current').addClass('next'); + } + + //update dot nav + if($sliderInstance.find('.dot-nav').length > 0) { + $sliderInstance.find('.dot-nav span.active').removeClass('active'); + $sliderInstance.find('.dot-nav span:nth-child('+ ($sliderInstance.find('.project-slide.current').index() + 1) +')').addClass('active'); + } + + },30); + + + return false; + + }); + + // pagination + this.$el.find('> .normal-container > .dot-nav').remove(); + this.$el.find('> .normal-container').append('
'); + for(var $i=0;$i < $projLength;$i++) { + if($i == 0) { + this.$el.find('.dot-nav').append(''); + } else { + this.$el.find('.dot-nav').append(''); + } + + } + + + var $dotIndex = 1; + + this.$el.find('.dot-nav > span').on('click',function(){ + + if($(this).hasClass('active')) { + return; + } + + // thres + var $that = $(this); + if(!$that.parent().hasClass('timeout')) { + setTimeout(function(){ + $that.parent().removeClass('timeout'); + },1150); + } + + if($(this).parent().hasClass('timeout')) { + return; + } + + $(this).parent().addClass('timeout'); + + self.sliderResetRotate(); + + // switch logic + $(this).parent().find('span.active').removeClass('active'); + $(this).addClass('active'); + + $dotIndex = $(this).index() + 1; + + var $current = $(this).parents('.nectar_fullscreen_zoom_recent_projects').find('.project-slide.current'); + var $sliderInstance = $(this).parents('.nectar_fullscreen_zoom_recent_projects'); + + var $prevIndex = $current.index() + 1; + + $sliderInstance.find('.project-slide').removeClass('next').removeClass('prev'); + + $sliderInstance.find('.project-slide').each(function(i){ + if(i < $dotIndex-1) { + $(this).addClass('prev'); + } + else { + $(this).addClass('next'); + } + }); + + // going prev + if($prevIndex > $dotIndex) { + + $sliderInstance.find('.project-slide') + .eq($dotIndex-1) + .addClass('no-trans') + .addClass('prev') + .removeClass('next'); + + setTimeout(function(){ + + $sliderInstance.find('.project-slide') + .eq($dotIndex-1) + .removeClass('no-trans') + .removeClass('next') + .removeClass('prev') + .addClass('current'); + + $current + .removeClass('current') + .addClass('next'); + + },30); + + } + + // going forawrd + else { + $sliderInstance.find('.project-slide').eq($dotIndex-1).addClass('no-trans').addClass('next').removeClass('prev'); + setTimeout(function(){ + $sliderInstance.find('.project-slide').eq($dotIndex-1).removeClass('no-trans').removeClass('next').removeClass('prev').addClass('current'); + $current.removeClass('current').addClass('prev'); + },30); + + } + + }); + + + }; + + + + /*-------------------------------------------------------------------------*/ + /* 3. Salient Recent Project Carousel + /*-------------------------------------------------------------------------*/ + + function SalientRecentProjectsCarousel(el) { + + this.$el = el; + + this.carouselInit(); + this.resizeHandler(); + + } + + + SalientRecentProjectsCarousel.prototype.resizeHandler = function() { + $(window).resize(this.carouselHeightCalcs.bind(this)); + }; + + SalientRecentProjectsCarousel.prototype.carouselInit = function() { + + var $that = this.$el; + var self = this; + var maxCols = (this.$el.parents('.carousel-wrap').attr('data-full-width') === 'true') ? 'auto' : 3 ; + var scrollNum = (this.$el.parents('.carousel-wrap').attr('data-full-width') === 'true') ? 'auto' : '' ; + var colWidth = (this.$el.parents('.carousel-wrap').attr('data-full-width') === 'true') ? 500 : 453 ; + var scrollSpeed, easing; + var $autoplayBool = (this.$el.attr('data-autorotate') === 'true') ? true : false; + var $themeSkin, $themeSkin2; + + if($('body.ascend').length > 0 && this.$el.parents('.carousel-wrap').attr('data-full-width') !== 'true' || + $('body.material').length > 0 && this.$el.parents('.carousel-wrap').attr('data-full-width') !== 'true') { + + if(this.$el.find('li').length % 3 === 0) { + $themeSkin = true; + $themeSkin2 = true; + } else { + $themeSkin = false; + $themeSkin2 = true; + } + + } else { + $themeSkin = true; + $themeSkin2 = true; + } + + (parseInt(this.$el.attr('data-scroll-speed'))) ? scrollSpeed = parseInt(this.$el.attr('data-scroll-speed')) : scrollSpeed = 700; + (this.$el.is('[data-easing]')) ? easing = this.$el.attr('data-easing') : easing = 'linear'; + + // Handle coloring. + this.$el.find('.col').each(function() { + if ($(this).has('[data-project-color]')) { + $(this).find('.work-info-bg, .bottom-meta').css('background-color',$(this).attr('data-project-color')); + } + }); + + var $element = $that; + if($that.find('img').length === 0) { + $element = $('body'); + } + + imagesLoaded($element,function(){ + + $that.carouFredSel({ + circular: $themeSkin, + infinite: $themeSkin2, + height : 'auto', + responsive: true, + items : { + width : colWidth, + visible : { + min : 1, + max : maxCols + } + }, + swipe : { + onTouch : true, + onMouse : true, + options : { + excludedElements: "button, input, select, textarea, .noSwipe", + tap: function(event, target){ + if($(target).attr('href') && + !$(target).is('[target="_blank"]') && + !$(target).is('[data-fancybox^="group_"]') && + !$(target).is('[rel^="prettyPhoto"]') && + !$(target).is('.magnific-popup') && + !$(target).is('.magnific')) { + window.open($(target).attr('href'), '_self'); + } + } + }, + onBefore : function(){ + // hover effect fix + $that.find('.work-item').trigger('mouseleave'); + $that.find('.work-item .work-info a').trigger('mouseup'); + } + }, + scroll: { + items : scrollNum, + easing : easing, + duration : scrollSpeed, + onBefore : function( data ) { + + if($('body.ascend').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true' || + $('body.material').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true') { + $that.parents('.carousel-wrap').find('.item-count .total').html(Math.ceil($that.find('> li').length / $that.triggerHandler("currentVisible").length)); + + } + }, + onAfter : function( data ) { + if($('body.ascend').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true' || + $('body.material').length > 0 && $that.parents('.carousel-wrap').attr('data-full-width') != 'true') { + $that.parents('.carousel-wrap').find('.item-count .current').html( $that.triggerHandler('currentPage') +1); + $that.parents('.carousel-wrap').find('.item-count .total').html(Math.ceil($that.find('> li').length / $that.triggerHandler("currentVisible").length)); + + } + } + + }, + prev : { + button : function() { + return $that.parents('.carousel-wrap').find('.carousel-prev'); + } + }, + next : { + button : function() { + return $that.parents('.carousel-wrap').find('.carousel-next'); + } + }, + auto : { + play: $autoplayBool + } + }, { transition: true }).animate({'opacity': 1},1300); + + $that.parents('.carousel-wrap').wrap('