gallery.css 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834
  1. .gallery-thumbnail {
  2. max-width: 100%;
  3. height: auto; }
  4. .grid-sizer, .grid-item {
  5. width: 20%; }
  6. .grid-item figure,
  7. .grid-item > div {
  8. margin: 0;
  9. margin: 0.4rem; }
  10. /* masonry grid media queries */
  11. @media screen and (max-width: 2200px) {
  12. .grid-sizer, .grid-item {
  13. width: 20%; } }
  14. @media screen and (max-width: 1800px) {
  15. .grid-sizer, .grid-item {
  16. width: 30%; } }
  17. @media screen and (max-width: 1600px) {
  18. .grid-sizer, .grid-item {
  19. width: 33.33%; } }
  20. @media screen and (max-width: 1224px) {
  21. .grid-sizer, .grid-item {
  22. width: 33.33%; } }
  23. @media screen and (max-width: 980px) {
  24. .grid-sizer, .grid-item {
  25. width: 50%; } }
  26. @media screen and (max-width: 720px) {
  27. .grid-sizer, .grid-item {
  28. width: 50%; } }
  29. @media screen and (max-width: 480px) {
  30. .grid-sizer, .grid-item {
  31. width: 100%; } }
  32. /* Gallery hover effects */
  33. .grid-hover {
  34. position: relative;
  35. margin: 0 auto;
  36. padding: 1em 0 4em;
  37. list-style: none; }
  38. .grid-hover figure {
  39. position: relative;
  40. overflow: hidden;
  41. margin: 10px 1%;
  42. min-width: 320px;
  43. max-width: 480px;
  44. max-height: 360px;
  45. background: #3085a3;
  46. text-align: center;
  47. cursor: pointer; }
  48. .grid-hover figure img {
  49. position: relative;
  50. display: block;
  51. min-height: 100%;
  52. max-width: 100%;
  53. opacity: 0.8; }
  54. .grid-hover figure figcaption {
  55. padding: 2em;
  56. color: #fff;
  57. text-transform: uppercase;
  58. font-size: 1.25em;
  59. -webkit-backface-visibility: hidden;
  60. backface-visibility: hidden;
  61. position: absolute;
  62. top: 0;
  63. left: 0;
  64. width: 100%;
  65. height: 100%; }
  66. .grid-hover figure figcaption::before {
  67. pointer-events: none; }
  68. .grid-hover figure figcaption::after {
  69. pointer-events: none; }
  70. .grid-hover figure figcaption > a {
  71. position: absolute;
  72. top: 0;
  73. left: 0;
  74. width: 100%;
  75. height: 100%;
  76. z-index: 1000;
  77. text-indent: 200%;
  78. white-space: nowrap;
  79. font-size: 0;
  80. opacity: 0; }
  81. .grid-hover figure h2 {
  82. word-spacing: -0.15em;
  83. font-weight: 300;
  84. margin: 0; }
  85. .grid-hover figure h2 span {
  86. font-weight: 800; }
  87. .grid-hover figure p {
  88. margin: 0;
  89. letter-spacing: 1px;
  90. font-size: 68.5%; }
  91. /*---------------*/
  92. /***** Lily *****/
  93. /*---------------*/
  94. figure.effect-lily img {
  95. max-width: none;
  96. width: -webkit-calc(100% + 50px);
  97. width: calc(100% + 50px);
  98. opacity: 0.7;
  99. transition: opacity 0.35s, transform 0.35s;
  100. transform: translate3d(-40px, 0, 0); }
  101. figure.effect-lily figcaption {
  102. text-align: left; }
  103. figure.effect-lily figcaption > div {
  104. position: absolute;
  105. bottom: 0;
  106. left: 0;
  107. padding: 2em;
  108. width: 100%;
  109. height: 50%; }
  110. figure.effect-lily h2 {
  111. transform: translate3d(0, 40px, 0);
  112. transition: transform 0.35s; }
  113. figure.effect-lily p {
  114. transform: translate3d(0, 40px, 0);
  115. color: rgba(255, 255, 255, 0.8);
  116. opacity: 0;
  117. transition: opacity 0.2s, transform 0.35s; }
  118. figure.effect-lily:hover img {
  119. opacity: 1;
  120. transform: translate3d(0, 0, 0); }
  121. figure.effect-lily:hover p {
  122. opacity: 1;
  123. transform: translate3d(0, 0, 0);
  124. -webkit-transition-delay: 0.05s;
  125. transition-delay: 0.05s;
  126. -webkit-transition-duration: 0.35s;
  127. transition-duration: 0.35s; }
  128. figure.effect-lily:hover h2 {
  129. transform: translate3d(0, 0, 0); }
  130. /*---------------*/
  131. /***** Sadie *****/
  132. /*---------------*/
  133. figure.effect-sadie figcaption::before {
  134. position: absolute;
  135. top: 0;
  136. left: 0;
  137. width: 100%;
  138. height: 100%;
  139. background: -webkit-linear-gradient(top, rgba(72, 76, 97, 0) 0%, rgba(72, 76, 97, 0.8) 75%);
  140. background: linear-gradient(to bottom, rgba(72, 76, 97, 0) 0%, rgba(72, 76, 97, 0.8) 75%);
  141. content: '';
  142. opacity: 0;
  143. transform: translate3d(0, 50%, 0);
  144. transition: opacity 0.35s, transform 0.35s; }
  145. figure.effect-sadie h2 {
  146. position: absolute;
  147. top: 50%;
  148. left: 0;
  149. width: 100%;
  150. color: #484c61;
  151. transition: transform 0.35s, color 0.35s;
  152. transform: translate3d(0, -50%, 0); }
  153. figure.effect-sadie p {
  154. transition: opacity 0.35s, transform 0.35s;
  155. position: absolute;
  156. bottom: 0;
  157. left: 0;
  158. padding: 2em;
  159. width: 100%;
  160. opacity: 0;
  161. transform: translate3d(0, 10px, 0); }
  162. figure.effect-sadie:hover h2 {
  163. color: #fff;
  164. transform: translate3d(0, -50%, 0) translate3d(0, -40px, 0); }
  165. figure.effect-sadie:hover figcaption::before {
  166. opacity: 1;
  167. transform: translate3d(0, 0, 0); }
  168. figure.effect-sadie:hover p {
  169. opacity: 1;
  170. transform: translate3d(0, 0, 0); }
  171. /*---------------*/
  172. /***** Roxy *****/
  173. /*---------------*/
  174. figure.effect-roxy {
  175. background: -webkit-linear-gradient(45deg, #ff89e9 0%, #05abe0 100%);
  176. background: linear-gradient(45deg, #ff89e9 0%, #05abe0 100%); }
  177. figure.effect-roxy img {
  178. max-width: none;
  179. width: -webkit-calc(100% + 60px);
  180. width: calc(100% + 60px);
  181. transition: opacity 0.35s, transform 0.35s;
  182. transform: translate3d(-50px, 0, 0); }
  183. figure.effect-roxy figcaption {
  184. padding: 3em;
  185. text-align: left; }
  186. figure.effect-roxy figcaption::before {
  187. position: absolute;
  188. top: 30px;
  189. right: 30px;
  190. bottom: 30px;
  191. left: 30px;
  192. border: 1px solid #fff;
  193. content: '';
  194. opacity: 0;
  195. transition: opacity 0.35s, transform 0.35s;
  196. transform: translate3d(-20px, 0, 0); }
  197. figure.effect-roxy h2 {
  198. padding: 30% 0 10px 0; }
  199. figure.effect-roxy p {
  200. opacity: 0;
  201. transition: opacity 0.35s, transform 0.35s;
  202. transform: translate3d(-10px, 0, 0); }
  203. figure.effect-roxy:hover img {
  204. opacity: 0.7;
  205. transform: translate3d(0, 0, 0); }
  206. figure.effect-roxy:hover figcaption::before {
  207. opacity: 1;
  208. transform: translate3d(0, 0, 0); }
  209. figure.effect-roxy:hover p {
  210. opacity: 1;
  211. transform: translate3d(0, 0, 0); }
  212. /*---------------*/
  213. /***** Bubba *****/
  214. /*---------------*/
  215. figure.effect-bubba {
  216. background: #9e5406; }
  217. figure.effect-bubba img {
  218. opacity: 0.7;
  219. transition: opacity 0.35s; }
  220. figure.effect-bubba:hover img {
  221. opacity: 0.4; }
  222. figure.effect-bubba:hover figcaption::before {
  223. opacity: 1;
  224. transform: scale(1); }
  225. figure.effect-bubba:hover figcaption::after {
  226. opacity: 1;
  227. transform: scale(1); }
  228. figure.effect-bubba:hover h2 {
  229. opacity: 1;
  230. transform: translate3d(0, 0, 0); }
  231. figure.effect-bubba:hover p {
  232. opacity: 1;
  233. transform: translate3d(0, 0, 0); }
  234. figure.effect-bubba figcaption::before {
  235. position: absolute;
  236. top: 30px;
  237. right: 30px;
  238. bottom: 30px;
  239. left: 30px;
  240. content: '';
  241. opacity: 0;
  242. transition: opacity 0.35s, transform 0.35s;
  243. border-top: 1px solid #fff;
  244. border-bottom: 1px solid #fff;
  245. transform: scale(0, 1); }
  246. figure.effect-bubba figcaption::after {
  247. position: absolute;
  248. top: 30px;
  249. right: 30px;
  250. bottom: 30px;
  251. left: 30px;
  252. content: '';
  253. opacity: 0;
  254. transition: opacity 0.35s, transform 0.35s;
  255. border-right: 1px solid #fff;
  256. border-left: 1px solid #fff;
  257. transform: scale(1, 0); }
  258. figure.effect-bubba h2 {
  259. padding-top: 30%;
  260. transition: transform 0.35s;
  261. transform: translate3d(0, -20px, 0); }
  262. figure.effect-bubba p {
  263. padding: 20px 2.5em;
  264. opacity: 0;
  265. transition: opacity 0.35s, transform 0.35s;
  266. transform: translate3d(0, 20px, 0); }
  267. /*---------------*/
  268. /***** Romeo *****/
  269. /*---------------*/
  270. figure.effect-romeo {
  271. -webkit-perspective: 1000px;
  272. perspective: 1000px; }
  273. figure.effect-romeo img {
  274. transition: opacity 0.35s, transform 0.35s;
  275. transform: translate3d(0, 0, 300px); }
  276. figure.effect-romeo:hover img {
  277. opacity: 0.6;
  278. transform: translate3d(0, 0, 0); }
  279. figure.effect-romeo:hover figcaption::before {
  280. opacity: 0.5;
  281. transform: translate3d(-50%, -50%, 0) rotate(45deg); }
  282. figure.effect-romeo:hover figcaption::after {
  283. opacity: 0.5;
  284. transform: translate3d(-50%, -50%, 0) rotate(-45deg); }
  285. figure.effect-romeo:hover h2 {
  286. transform: translate3d(0, -50%, 0) translate3d(0, -100%, 0); }
  287. figure.effect-romeo:hover p {
  288. transform: translate3d(0, -50%, 0) translate3d(0, 100%, 0); }
  289. figure.effect-romeo figcaption::before {
  290. position: absolute;
  291. top: 50%;
  292. left: 50%;
  293. width: 80%;
  294. height: 1px;
  295. background: #fff;
  296. content: '';
  297. transition: opacity 0.35s, transform 0.35s;
  298. transform: translate3d(-50%, -50%, 0); }
  299. figure.effect-romeo figcaption::after {
  300. position: absolute;
  301. top: 50%;
  302. left: 50%;
  303. width: 80%;
  304. height: 1px;
  305. background: #fff;
  306. content: '';
  307. transition: opacity 0.35s, transform 0.35s;
  308. transform: translate3d(-50%, -50%, 0); }
  309. figure.effect-romeo h2 {
  310. position: absolute;
  311. top: 50%;
  312. left: 0;
  313. width: 100%;
  314. transition: transform 0.35s;
  315. transform: translate3d(0, -50%, 0) translate3d(0, -150%, 0); }
  316. figure.effect-romeo p {
  317. position: absolute;
  318. top: 50%;
  319. left: 0;
  320. width: 100%;
  321. transition: transform 0.35s;
  322. padding: 0.25em 2em;
  323. transform: translate3d(0, -50%, 0) translate3d(0, 150%, 0); }
  324. /*---------------*/
  325. /***** Layla *****/
  326. /*---------------*/
  327. figure.effect-layla {
  328. background: #18a367; }
  329. figure.effect-layla img {
  330. height: 390px;
  331. transform: translate3d(0, -30px, 0);
  332. transition: opacity 0.35s, transform 0.35s; }
  333. figure.effect-layla figcaption {
  334. padding: 3em; }
  335. figure.effect-layla figcaption::before {
  336. position: absolute;
  337. content: '';
  338. opacity: 0;
  339. top: 50px;
  340. right: 30px;
  341. bottom: 50px;
  342. left: 30px;
  343. border-top: 1px solid #fff;
  344. border-bottom: 1px solid #fff;
  345. transform: scale(0, 1);
  346. -webkit-transform-origin: 0 0;
  347. transform-origin: 0 0;
  348. transition: opacity 0.35s, transform 0.35s; }
  349. figure.effect-layla figcaption::after {
  350. position: absolute;
  351. content: '';
  352. opacity: 0;
  353. top: 30px;
  354. right: 50px;
  355. bottom: 30px;
  356. left: 50px;
  357. border-right: 1px solid #fff;
  358. border-left: 1px solid #fff;
  359. transform: scale(1, 0);
  360. -webkit-transform-origin: 100% 0;
  361. transform-origin: 100% 0;
  362. transition: opacity 0.35s, transform 0.35s; }
  363. figure.effect-layla h2 {
  364. padding-top: 26%;
  365. transition: transform 0.35s;
  366. transform: translate3d(0, -30px, 0); }
  367. figure.effect-layla p {
  368. padding: 0.5em 2em;
  369. text-transform: none;
  370. opacity: 0;
  371. transform: translate3d(0, -10px, 0);
  372. transition: opacity 0.35s, transform 0.35s; }
  373. figure.effect-layla:hover img {
  374. opacity: 0.7;
  375. transform: translate3d(0, 0, 0);
  376. -webkit-transition-delay: 0.15s;
  377. transition-delay: 0.15s; }
  378. figure.effect-layla:hover figcaption::before {
  379. opacity: 1;
  380. transform: scale(1); }
  381. figure.effect-layla:hover figcaption::after {
  382. opacity: 1;
  383. transform: scale(1);
  384. -webkit-transition-delay: 0.15s;
  385. transition-delay: 0.15s; }
  386. figure.effect-layla:hover h2 {
  387. opacity: 1;
  388. transform: translate3d(0, 0, 0);
  389. -webkit-transition-delay: 0.15s;
  390. transition-delay: 0.15s; }
  391. figure.effect-layla:hover p {
  392. opacity: 1;
  393. transform: translate3d(0, 0, 0);
  394. -webkit-transition-delay: 0.15s;
  395. transition-delay: 0.15s; }
  396. /*---------------*/
  397. /***** Honey *****/
  398. /*---------------*/
  399. figure.effect-honey {
  400. background: #4a3753; }
  401. figure.effect-honey img {
  402. opacity: 0.9;
  403. transition: opacity 0.35s; }
  404. figure.effect-honey:hover img {
  405. opacity: 0.5; }
  406. figure.effect-honey:hover figcaption::before {
  407. opacity: 1;
  408. transform: translate3d(0, 0, 0); }
  409. figure.effect-honey:hover h2 {
  410. opacity: 1;
  411. transform: translate3d(0, 0, 0); }
  412. figure.effect-honey:hover h2 i {
  413. opacity: 1;
  414. transform: translate3d(0, 0, 0); }
  415. figure.effect-honey figcaption::before {
  416. position: absolute;
  417. bottom: 0;
  418. left: 0;
  419. width: 100%;
  420. height: 10px;
  421. background: #fff;
  422. content: '';
  423. transform: translate3d(0, 10px, 0);
  424. transition: transform 0.35s; }
  425. figure.effect-honey h2 {
  426. position: absolute;
  427. bottom: 0;
  428. left: 0;
  429. padding: 1em 1.5em;
  430. width: 100%;
  431. text-align: left;
  432. transform: translate3d(0, -30px, 0);
  433. transition: transform 0.35s; }
  434. figure.effect-honey h2 i {
  435. font-style: normal;
  436. opacity: 0;
  437. transition: opacity 0.35s, transform 0.35s;
  438. transform: translate3d(0, -30px, 0); }
  439. /*---------------*/
  440. /***** Oscar *****/
  441. /*---------------*/
  442. figure.effect-oscar {
  443. background: -webkit-linear-gradient(45deg, #22682a 0%, #9b4a1b 40%, #3a342a 100%);
  444. background: linear-gradient(45deg, #22682a 0%, #9b4a1b 40%, #3a342a 100%); }
  445. figure.effect-oscar img {
  446. opacity: 0.9;
  447. transition: opacity 0.35s; }
  448. figure.effect-oscar figcaption {
  449. padding: 3em;
  450. background-color: rgba(58, 52, 42, 0.7);
  451. transition: background-color 0.35s; }
  452. figure.effect-oscar figcaption::before {
  453. position: absolute;
  454. top: 30px;
  455. right: 30px;
  456. bottom: 30px;
  457. left: 30px;
  458. border: 1px solid #fff;
  459. content: '';
  460. opacity: 0;
  461. transition: opacity 0.35s, transform 0.35s;
  462. transform: scale(0); }
  463. figure.effect-oscar h2 {
  464. margin: 20% 0 10px 0;
  465. transition: transform 0.35s;
  466. transform: translate3d(0, 100%, 0); }
  467. figure.effect-oscar p {
  468. opacity: 0;
  469. transition: opacity 0.35s, transform 0.35s;
  470. transform: scale(0); }
  471. figure.effect-oscar:hover h2 {
  472. transform: translate3d(0, 0, 0); }
  473. figure.effect-oscar:hover figcaption {
  474. background-color: rgba(58, 52, 42, 0); }
  475. figure.effect-oscar:hover figcaption::before {
  476. opacity: 1;
  477. transform: scale(1); }
  478. figure.effect-oscar:hover p {
  479. opacity: 1;
  480. transform: scale(1); }
  481. figure.effect-oscar:hover img {
  482. opacity: 0.4; }
  483. /*---------------*/
  484. /***** Marley *****/
  485. /*---------------*/
  486. figure.effect-marley figcaption {
  487. text-align: right; }
  488. figure.effect-marley h2 {
  489. position: absolute;
  490. right: 30px;
  491. left: 30px;
  492. padding: 10px 0;
  493. top: 30px;
  494. transition: transform 0.35s;
  495. transform: translate3d(0, 20px, 0); }
  496. figure.effect-marley h2::after {
  497. position: absolute;
  498. top: 100%;
  499. left: 0;
  500. width: 100%;
  501. height: 4px;
  502. background: #fff;
  503. content: '';
  504. transform: translate3d(0, 40px, 0);
  505. opacity: 0;
  506. transition: opacity 0.35s, transform 0.35s; }
  507. figure.effect-marley p {
  508. position: absolute;
  509. right: 30px;
  510. left: 30px;
  511. padding: 10px 0;
  512. bottom: 30px;
  513. line-height: 1.5;
  514. transform: translate3d(0, 100%, 0);
  515. opacity: 0;
  516. transition: opacity 0.35s, transform 0.35s; }
  517. figure.effect-marley:hover h2 {
  518. transform: translate3d(0, 0, 0); }
  519. figure.effect-marley:hover h2::after {
  520. opacity: 1;
  521. transform: translate3d(0, 0, 0); }
  522. figure.effect-marley:hover p {
  523. opacity: 1;
  524. transform: translate3d(0, 0, 0); }
  525. /*---------------*/
  526. /***** Ruby *****/
  527. /*---------------*/
  528. figure.effect-ruby {
  529. background-color: #17819c; }
  530. figure.effect-ruby img {
  531. opacity: 0.7;
  532. transition: opacity 0.35s, transform 0.35s;
  533. transform: scale(1.15); }
  534. figure.effect-ruby:hover img {
  535. opacity: 0.5;
  536. transform: scale(1); }
  537. figure.effect-ruby:hover h2 {
  538. transform: translate3d(0, 0, 0); }
  539. figure.effect-ruby:hover p {
  540. opacity: 1;
  541. transform: translate3d(0, 0, 0) scale(1); }
  542. figure.effect-ruby h2 {
  543. margin-top: 20%;
  544. transition: transform 0.35s;
  545. transform: translate3d(0, 20px, 0); }
  546. figure.effect-ruby p {
  547. margin: 1em 0 0;
  548. padding: 3em;
  549. border: 1px solid #fff;
  550. opacity: 0;
  551. transition: opacity 0.35s, transform 0.35s;
  552. transform: translate3d(0, 20px, 0) scale(1.1); }
  553. /*---------------*/
  554. /***** Milo *****/
  555. /*---------------*/
  556. figure.effect-milo {
  557. background: #2e5d5a; }
  558. figure.effect-milo img {
  559. max-width: none;
  560. width: -webkit-calc(100% + 60px);
  561. width: calc(100% + 60px);
  562. opacity: 1;
  563. transition: opacity 0.35s, transform 0.35s;
  564. transform: translate3d(-30px, 0, 0) scale(1.12);
  565. -webkit-backface-visibility: hidden;
  566. backface-visibility: hidden; }
  567. figure.effect-milo:hover img {
  568. opacity: 0.5;
  569. transform: translate3d(0, 0, 0) scale(1); }
  570. figure.effect-milo:hover p {
  571. opacity: 1;
  572. transform: translate3d(0, 0, 0); }
  573. figure.effect-milo h2 {
  574. position: absolute;
  575. right: 0;
  576. bottom: 0;
  577. padding: 1em 1.2em; }
  578. figure.effect-milo p {
  579. padding: 0 10px 0 0;
  580. width: 50%;
  581. border-right: 1px solid #fff;
  582. text-align: right;
  583. opacity: 0;
  584. transition: opacity 0.35s, transform 0.35s;
  585. transform: translate3d(-40px, 0, 0); }
  586. /*---------------*/
  587. /***** Dexter *****/
  588. /*---------------*/
  589. figure.effect-dexter {
  590. background: -webkit-linear-gradient(top, #258dc8 0%, #683c13 100%);
  591. background: linear-gradient(to bottom, #258dc8 0%, #683c13 100%); }
  592. figure.effect-dexter img {
  593. transition: opacity 0.35s; }
  594. figure.effect-dexter:hover img {
  595. opacity: 0.4; }
  596. figure.effect-dexter:hover figcaption::after {
  597. transform: translate3d(0, 0, 0); }
  598. figure.effect-dexter:hover p {
  599. opacity: 1;
  600. transform: translate3d(0, 0, 0); }
  601. figure.effect-dexter figcaption {
  602. padding: 3em;
  603. text-align: left; }
  604. figure.effect-dexter figcaption::after {
  605. position: absolute;
  606. right: 30px;
  607. bottom: 30px;
  608. left: 30px;
  609. height: -webkit-calc(50% - 30px);
  610. height: calc(50% - 30px);
  611. border: 7px solid #fff;
  612. content: '';
  613. transition: transform 0.35s;
  614. transform: translate3d(0, -100%, 0); }
  615. figure.effect-dexter p {
  616. position: absolute;
  617. right: 60px;
  618. bottom: 60px;
  619. left: 60px;
  620. opacity: 0;
  621. transition: opacity 0.35s, transform 0.35s;
  622. transform: translate3d(0, -100px, 0); }
  623. /*---------------*/
  624. /***** Sarah *****/
  625. /*---------------*/
  626. figure.effect-sarah {
  627. background: #42b078; }
  628. figure.effect-sarah img {
  629. max-width: none;
  630. width: -webkit-calc(100% + 20px);
  631. width: calc(100% + 20px);
  632. transition: opacity 0.35s, transform 0.35s;
  633. transform: translate3d(-10px, 0, 0);
  634. -webkit-backface-visibility: hidden;
  635. backface-visibility: hidden; }
  636. figure.effect-sarah:hover img {
  637. opacity: 0.4;
  638. transform: translate3d(0, 0, 0); }
  639. figure.effect-sarah:hover h2::after {
  640. transform: translate3d(0, 0, 0); }
  641. figure.effect-sarah:hover p {
  642. opacity: 1;
  643. transform: translate3d(0, 0, 0); }
  644. figure.effect-sarah figcaption {
  645. text-align: left; }
  646. figure.effect-sarah h2 {
  647. position: relative;
  648. overflow: hidden;
  649. padding: 0.5em 0; }
  650. figure.effect-sarah h2::after {
  651. position: absolute;
  652. bottom: 0;
  653. left: 0;
  654. width: 100%;
  655. height: 3px;
  656. background: #fff;
  657. content: '';
  658. transition: transform 0.35s;
  659. transform: translate3d(-100%, 0, 0); }
  660. figure.effect-sarah p {
  661. padding: 1em 0;
  662. opacity: 0;
  663. transition: opacity 0.35s, transform 0.35s;
  664. transform: translate3d(100%, 0, 0); }
  665. /*---------------*/
  666. /***** Zoe *****/
  667. /*---------------*/
  668. figure.effect-zoe figcaption {
  669. top: auto;
  670. bottom: 0;
  671. padding: 1em;
  672. height: 3.75em;
  673. background: #fff;
  674. color: #3c4a50;
  675. transition: transform 0.35s;
  676. transform: translate3d(0, 100%, 0); }
  677. figure.effect-zoe h2 {
  678. float: left;
  679. transition: transform 0.35s;
  680. transform: translate3d(0, 200%, 0);
  681. display: inline-block; }
  682. figure.effect-zoe p.icon-links a {
  683. float: right;
  684. color: #3c4a50;
  685. font-size: 1.4em;
  686. transition: transform 0.35s;
  687. transform: translate3d(0, 200%, 0); }
  688. figure.effect-zoe p.icon-links a span::before {
  689. display: inline-block;
  690. padding: 8px 10px;
  691. font-family: 'feathericons';
  692. speak: none;
  693. -webkit-font-smoothing: antialiased;
  694. -moz-osx-font-smoothing: grayscale; }
  695. figure.effect-zoe:hover p.icon-links a {
  696. transform: translate3d(0, 0, 0); }
  697. figure.effect-zoe:hover p.icon-links a:hover {
  698. color: #252d31; }
  699. figure.effect-zoe:hover p.icon-links a:focus {
  700. color: #252d31; }
  701. figure.effect-zoe:hover p.icon-links a:nth-child(3) {
  702. -webkit-transition-delay: 0.1s;
  703. transition-delay: 0.1s; }
  704. figure.effect-zoe:hover p.icon-links a:nth-child(2) {
  705. -webkit-transition-delay: 0.15s;
  706. transition-delay: 0.15s; }
  707. figure.effect-zoe:hover p.icon-links a:first-child {
  708. -webkit-transition-delay: 0.2s;
  709. transition-delay: 0.2s; }
  710. figure.effect-zoe:hover p.description {
  711. opacity: 1; }
  712. figure.effect-zoe:hover figcaption {
  713. transform: translate3d(0, 0, 0); }
  714. figure.effect-zoe:hover h2 {
  715. transform: translate3d(0, 0, 0);
  716. -webkit-transition-delay: 0.05s;
  717. transition-delay: 0.05s; }
  718. figure.effect-zoe p.description {
  719. position: absolute;
  720. bottom: 8em;
  721. padding: 2em;
  722. color: #fff;
  723. text-transform: none;
  724. font-size: 90%;
  725. opacity: 0;
  726. transition: opacity 0.35s;
  727. -webkit-backface-visibility: hidden; }
  728. .icon-eye::before {
  729. content: '\e000'; }
  730. .icon-paper-clip::before {
  731. content: '\e001'; }
  732. .icon-heart::before {
  733. content: '\e024'; }
  734. /*---------------*/
  735. /***** Chico *****/
  736. /*---------------*/
  737. figure.effect-chico img {
  738. transition: opacity 0.35s, transform 0.35s;
  739. transform: scale(1.12); }
  740. figure.effect-chico:hover img {
  741. opacity: 0.5;
  742. transform: scale(1); }
  743. figure.effect-chico:hover figcaption::before {
  744. opacity: 1;
  745. transform: scale(1); }
  746. figure.effect-chico:hover p {
  747. opacity: 1;
  748. transform: scale(1); }
  749. figure.effect-chico figcaption {
  750. padding: 3em; }
  751. figure.effect-chico figcaption::before {
  752. position: absolute;
  753. top: 30px;
  754. right: 30px;
  755. bottom: 30px;
  756. left: 30px;
  757. border: 1px solid #fff;
  758. content: '';
  759. transform: scale(1.1);
  760. opacity: 0;
  761. transition: opacity 0.35s, transform 0.35s; }
  762. figure.effect-chico p {
  763. opacity: 0;
  764. transition: opacity 0.35s, transform 0.35s;
  765. margin: 0 auto;
  766. max-width: 200px;
  767. transform: scale(1.5); }
  768. figure.effect-chico h2 {
  769. padding: 20% 0 20px 0; }
  770. @media screen and (max-width: 50em) {
  771. .content {
  772. padding: 0 10px; }
  773. .grid figure {
  774. display: inline-block;
  775. float: none;
  776. margin: 10px auto;
  777. width: 100%; } }