main.css 35 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098
  1. /*
  2. The bakery demo avoids using tooling so doesn't use SASS. This is a static
  3. CSS file that extends Bootstrap. It's deliberately verbose to aid
  4. readability with global themes, themes for each list view and themes for
  5. each detail view
  6. 1. Global styles ---------------------------------------------------------
  7. 2. Page header -----------------------------------------------------------
  8. 3. Main menu -------------------------------------------------------------
  9. 4. Breadcrumb ------------------------------------------------------------
  10. 5. Location styles -------------------------------------------------------
  11. 6. Blog styles -----------------------------------------------------------
  12. 7. Bread styles ----------------------------------------------------------
  13. 8. Form styles -----------------------------------------------------------
  14. 9. Homepage styles -------------------------------------------------------
  15. 9. Miscellaneous/ Helper styles ------------------------------------------
  16. */
  17. /* Global styles */
  18. /* CSS Variables */
  19. :root {
  20. --dark: #333;
  21. --grey: #6e6e6e;
  22. --border-grey: #e1dcd3;
  23. --transparent-border: rgb(135 116 79 / 25%);
  24. --white: #fff;
  25. --cream: #f5f3e9;
  26. --light-brown: #87744f;
  27. --mid-brown: #825600;
  28. --dark-brown: #553801;
  29. --orange: #c55302;
  30. --dark-orange: #833701;
  31. --font--primary: 'Marcellus', serif;
  32. --font--secondary: 'Open Sans', sans-serif;
  33. --font-sm: 1rem;
  34. --font-md: 1.125rem;
  35. }
  36. html {
  37. font-size: 16px;
  38. }
  39. [hidden] {
  40. display: none !important;
  41. }
  42. /* Body */
  43. body {
  44. font-family: var(--font--secondary);
  45. font-size: 1rem;
  46. line-height: 1.5;
  47. padding-top: 0;
  48. padding-bottom: 0;
  49. background: var(--white);
  50. color: var(--dark);
  51. min-height: 100vh;
  52. }
  53. body.no-scroll {
  54. overflow-y: hidden;
  55. }
  56. @media (min-width: 768px) {
  57. body {
  58. font-size: var(--font-md);
  59. line-height: 1.55;
  60. }
  61. }
  62. /* Headings and Paragraphs */
  63. h1,
  64. h2,
  65. h3 {
  66. font-family: var(--font--primary);
  67. font-weight: 400;
  68. color: var(--dark);
  69. }
  70. h1 {
  71. font-size: 2.375rem;
  72. line-height: 1.16;
  73. }
  74. h2 {
  75. font-size: 2rem;
  76. line-height: 1.25;
  77. }
  78. h3 {
  79. font-size: 1.625rem;
  80. line-height: 1.15;
  81. }
  82. h4 {
  83. font-family: var(--font--secondary);
  84. font-style: normal;
  85. font-weight: 600;
  86. font-size: 1.25rem;
  87. line-height: 1.35;
  88. color: var(--dark);
  89. }
  90. p {
  91. font-family: var(--font--secondary);
  92. font-style: normal;
  93. font-weight: 400;
  94. font-size: var(--font-sm);
  95. line-height: 1.5;
  96. color: var(--dark);
  97. }
  98. @media (min-width: 768px) {
  99. body {
  100. font-size: var(--font-md);
  101. line-height: 1.55;
  102. }
  103. h1 {
  104. font-size: 3.75rem;
  105. line-height: 1.07;
  106. }
  107. h2 {
  108. font-size: 2.875rem;
  109. line-height: 1.09;
  110. }
  111. h3 {
  112. font-size: 2rem;
  113. line-height: 1.31;
  114. }
  115. h4 {
  116. font-size: 1.5rem;
  117. line-height: 1.38;
  118. }
  119. p {
  120. font-size: var(--font-md);
  121. line-height: 1.55;
  122. margin: 0 0 30px;
  123. }
  124. }
  125. ol,
  126. ul {
  127. margin-bottom: 30px;
  128. }
  129. .hero h1 {
  130. color: var(--white);
  131. position: relative;
  132. }
  133. @media (min-width: 768px) {
  134. .intro {
  135. font-size: 1.875rem;
  136. margin: 0 0 60px;
  137. }
  138. }
  139. /* Links, Lists, Figures */
  140. a,
  141. a:focus,
  142. a:visited {
  143. color: var(--orange);
  144. text-decoration: none;
  145. }
  146. a:hover {
  147. color: var(--dark-orange);
  148. text-decoration: none;
  149. }
  150. a.btn {
  151. background-color: var(--orange);
  152. color: var(--white);
  153. display: inline-block;
  154. font-family: var(--font--secondary);
  155. font-size: var(--font-md);
  156. line-height: 1.55;
  157. font-weight: 700;
  158. padding: 15px 20px;
  159. }
  160. a.btn:hover {
  161. background-color: var(--grey);
  162. color: var(--white);
  163. }
  164. a.btn-sm {
  165. border-radius: 4px;
  166. font-size: 1rem;
  167. line-height: normal;
  168. padding: 6px 8px;
  169. }
  170. ul {
  171. margin: 0 0 30px;
  172. }
  173. @media (min-width: 768px) {
  174. ul {
  175. margin: 0 0 50px;
  176. }
  177. }
  178. figure {
  179. margin: 30px 0;
  180. position: relative;
  181. }
  182. @media (min-width: 768px) {
  183. figure {
  184. margin: 40px 0;
  185. }
  186. }
  187. figcaption {
  188. color: var(--grey);
  189. font-family: var(--font--secondary);
  190. font-size: 0.875rem;
  191. line-height: 1.57;
  192. padding-top: 10px;
  193. }
  194. @media (min-width: 768px) {
  195. figcaption {
  196. font-size: var(--font-sm);
  197. line-height: 1.5;
  198. }
  199. }
  200. img {
  201. display: block;
  202. width: 100%;
  203. height: auto;
  204. }
  205. figure img {
  206. display: block;
  207. width: 100%;
  208. height: auto;
  209. }
  210. /* Generic detail page styles */
  211. .intro {
  212. font-family: var(--font--secondary);
  213. font-weight: 300;
  214. margin: 0 0 40px;
  215. font-size: 1.375rem;
  216. }
  217. .alert {
  218. margin: 40px auto 0;
  219. max-width: 1400px;
  220. border-radius: 0;
  221. background-color: var(--orange);
  222. color: var(--white);
  223. padding: 40px;
  224. }
  225. .alert > .alert__title {
  226. color: var(--white);
  227. font-family: var(--font--primary);
  228. font-size: 1.625rem;
  229. margin-bottom: 5px;
  230. }
  231. .alert__messages {
  232. list-style-type: none;
  233. margin: 0;
  234. padding-left: 0;
  235. }
  236. /* Hero image area */
  237. .hero {
  238. background-size: cover;
  239. background-position: center;
  240. padding: 300px 0 0;
  241. position: relative;
  242. margin: 0 0 10px;
  243. }
  244. @media screen and (min-width: 768px) {
  245. .hero {
  246. padding: 250px 0 0;
  247. margin: 0;
  248. }
  249. .hero.hero--blog {
  250. padding: 400px 0 0;
  251. }
  252. }
  253. .hero-gradient-mask {
  254. position: absolute;
  255. width: 100%;
  256. height: 100%;
  257. bottom: 0;
  258. background: linear-gradient(0deg, #000 11.33%, rgb(0 0 0 / 0%) 100%);
  259. }
  260. @media (min-width: 768px) {
  261. .hero-gradient-mask {
  262. background: linear-gradient(90deg, #000 11.33%, rgb(0 0 0 / 0%) 100%);
  263. }
  264. }
  265. .hero__container {
  266. width: 100%;
  267. padding: 30px 20px 100px;
  268. background-color: var(--orange);
  269. margin: 0 auto;
  270. }
  271. @media (min-width: 768px) {
  272. .hero__container {
  273. background-color: transparent;
  274. max-width: 1400px;
  275. padding: 0 40px;
  276. }
  277. }
  278. .hero__title {
  279. color: var(--white);
  280. font-weight: 400;
  281. font-size: 2.875rem;
  282. line-height: 1.09;
  283. margin: 0;
  284. width: 100%;
  285. }
  286. @media (min-width: 768px) {
  287. .hero__title {
  288. background-color: var(--orange);
  289. width: max-content;
  290. max-width: 100%;
  291. font-size: 6.25rem;
  292. line-height: 0.64;
  293. padding: 75px 65px;
  294. position: absolute;
  295. bottom: 0;
  296. left: 0;
  297. transform: translateY(50%);
  298. }
  299. }
  300. blockquote {
  301. border-left: 3px solid var(--orange);
  302. margin: 40px 0 30px;
  303. padding: 0 0 0 20px;
  304. }
  305. blockquote .text {
  306. color: var(--orange);
  307. margin: 0 0 30px;
  308. font-family: var(--font--primary);
  309. font-size: 1.625rem;
  310. line-height: 1.15;
  311. }
  312. blockquote .attribute-name {
  313. color: var(--dark);
  314. font-size: var(--font-md);
  315. line-height: 1.56;
  316. margin: 0;
  317. padding: 0;
  318. }
  319. @media (min-width: 768px) {
  320. blockquote {
  321. border-left: 3px solid var(--orange);
  322. margin: 50px 0;
  323. padding: 0 40px;
  324. }
  325. blockquote .text {
  326. font-size: 2rem;
  327. line-height: 1.31;
  328. }
  329. }
  330. /* Richtext Styles */
  331. /* stylelint-disable-next-line selector-class-pattern */
  332. .block-paragraph_block p {
  333. color: var(--dark);
  334. }
  335. /* stylelint-disable-next-line selector-class-pattern */
  336. .block-paragraph_block a {
  337. text-decoration: underline;
  338. }
  339. /* stylelint-disable-next-line selector-class-pattern */
  340. .block-embed_block iframe {
  341. aspect-ratio: 16 / 9;
  342. width: 100%;
  343. height: 100%;
  344. }
  345. /* stylelint-disable-next-line selector-class-pattern */
  346. :is(.block-table_block, .block-typed_table_block) :is(table, tr, td, th) {
  347. border: 1px solid var(--dark);
  348. padding: 0.25em;
  349. }
  350. /* stylelint-disable-next-line selector-class-pattern */
  351. :is(.block-table_block, .block-typed_table_block) table {
  352. margin-bottom: 30px;
  353. }
  354. @media screen and (min-width: 768px) {
  355. .header,
  356. .footer {
  357. padding-right: 0;
  358. padding-left: 0;
  359. }
  360. }
  361. /* Page header */
  362. .header {
  363. padding: 0;
  364. width: 100%;
  365. background: var(--white);
  366. z-index: 10;
  367. }
  368. .index-header__title {
  369. color: var(--dark);
  370. font-weight: 400;
  371. font-size: 2.875rem;
  372. line-height: 1.09;
  373. margin-top: 30px;
  374. }
  375. .index-header__introduction {
  376. color: var(--dark);
  377. font-family: var(--font--primary);
  378. font-weight: 400;
  379. font-size: 1.625rem;
  380. line-height: 1.15;
  381. margin-top: 20px;
  382. margin-bottom: 60px;
  383. }
  384. .index-header__introduction.index-header__introduction--blog {
  385. margin-bottom: 20px;
  386. }
  387. .index-header__body-introduction p:first-child {
  388. color: var(--dark);
  389. font-family: var(--font--primary);
  390. font-weight: 400;
  391. font-size: 1.625rem;
  392. line-height: 30px;
  393. margin-top: 20px;
  394. margin-bottom: 30px;
  395. }
  396. .index-header__body-introduction {
  397. margin-bottom: 30px;
  398. }
  399. @media (min-width: 768px) {
  400. .index-header__title {
  401. font-size: 6.25rem;
  402. line-height: 0.64;
  403. margin-top: 70px;
  404. }
  405. .index-header__introduction {
  406. font-size: 2rem;
  407. line-height: 1.31;
  408. margin-top: 40px;
  409. margin-bottom: 40px;
  410. }
  411. .index-header__body-introduction p:first-child {
  412. font-size: 2rem;
  413. line-height: 42px;
  414. margin-top: 40px;
  415. margin-bottom: 40px;
  416. }
  417. .index-header__body-introduction {
  418. margin-bottom: 30px;
  419. }
  420. .index-header__title.index-header__title--blog {
  421. line-height: 1.1;
  422. }
  423. }
  424. /* Main menu */
  425. .navigation {
  426. display: flex;
  427. flex-direction: row;
  428. align-items: center;
  429. padding: 25px 0;
  430. }
  431. .navigation__mobile {
  432. position: absolute;
  433. top: 0;
  434. left: 0;
  435. right: 0;
  436. bottom: 0;
  437. background-color: var(--white);
  438. z-index: 10;
  439. display: flex;
  440. flex-direction: column;
  441. align-items: center;
  442. text-align: center;
  443. padding-top: 80px;
  444. }
  445. .navigation__mobile-toggle {
  446. background-color: transparent;
  447. border: none;
  448. margin: 0 0 0 auto;
  449. }
  450. .navigation__mobile-toggle[aria-expanded='true'] {
  451. position: absolute;
  452. z-index: 15;
  453. top: 30px;
  454. right: 20px;
  455. }
  456. @media (min-width: 1150px) {
  457. .navigation__mobile {
  458. display: none;
  459. }
  460. }
  461. .navigation__mobile-toggle[aria-expanded='true'] .navigation__toggle-icon-bar {
  462. opacity: 0;
  463. }
  464. .navigation__mobile-toggle[aria-expanded='true']
  465. .navigation__toggle-icon-bar:first-of-type {
  466. transform: translateY(10px) rotate(45deg);
  467. opacity: 1;
  468. }
  469. .navigation__mobile-toggle[aria-expanded='true']
  470. .navigation__toggle-icon-bar:last-child {
  471. transform: translateY(-10px) rotate(-45deg);
  472. opacity: 1;
  473. }
  474. .navigation__mobile-search {
  475. margin-top: 20px;
  476. position: relative;
  477. }
  478. .navigation__search {
  479. display: none;
  480. margin: 15px 0 0;
  481. position: relative;
  482. }
  483. .navigation__search-icon {
  484. display: block;
  485. position: absolute;
  486. right: 13px;
  487. top: 13px;
  488. }
  489. @media (min-width: 768px) {
  490. .navigation__search-icon {
  491. top: 11px;
  492. }
  493. }
  494. .navigation__search-input {
  495. color: var(--dark);
  496. font-size: var(--font-sm);
  497. line-height: 1.5;
  498. border: 1px solid var(--dark);
  499. padding: 10px;
  500. }
  501. .navigation__items {
  502. list-style: none;
  503. margin: 0;
  504. padding: 20px 0 0;
  505. }
  506. .navigation__desktop {
  507. display: none;
  508. }
  509. @media (min-width: 1150px) {
  510. .navigation__desktop {
  511. display: block;
  512. }
  513. .navigation__search {
  514. display: block;
  515. margin: 0 0 0 auto;
  516. }
  517. .navigation__items {
  518. padding: 0 0 0 20px;
  519. }
  520. }
  521. .navigation__items > li {
  522. padding: 10px 0;
  523. }
  524. .navigation__items > li > a {
  525. color: var(--dark);
  526. font-family: var(--font--secondary);
  527. font-size: var(--font-md);
  528. line-height: 1.55;
  529. padding: 10px 0;
  530. }
  531. @media (min-width: 1150px) {
  532. .navigation__items {
  533. display: block;
  534. }
  535. .navigation__items > li {
  536. padding: 0 0 0 20px;
  537. }
  538. .navigation__items > li > a {
  539. padding: 10px;
  540. }
  541. .navigation__items > li:first-child {
  542. padding: 0 0 0 20px;
  543. }
  544. }
  545. /* N.B. We're overriding Bootstrap's default nav styles here,
  546. these rules set what the currently active nav tab looks like. */
  547. .navigation__items > li.active > a,
  548. .navigation__items > li.active > a:focus,
  549. .navigation__items > li.active > a:hover {
  550. color: var(--dark);
  551. border-radius: 0;
  552. border: none;
  553. background-color: transparent;
  554. }
  555. .navigation__items > li:hover,
  556. .navigation__items > li > a:focus,
  557. .navigation__items > li > a:hover {
  558. text-decoration: underline;
  559. }
  560. /* Required as bootstrap nav automatically hides this otherwise */
  561. @media (min-width: 768px) {
  562. .navigation__mobile-toggle {
  563. display: block;
  564. }
  565. }
  566. @media (min-width: 1150px) {
  567. .navigation__mobile-toggle {
  568. display: none;
  569. }
  570. }
  571. .navigation__toggle-icon-bar {
  572. background-color: var(--dark);
  573. width: 30px;
  574. height: 2px;
  575. margin-bottom: 8px;
  576. display: block;
  577. }
  578. .navigation__toggle-icon-bar:last-child {
  579. margin-bottom: 0;
  580. }
  581. .collapse.in {
  582. padding: 0;
  583. }
  584. @media (max-width: 1150px) {
  585. .collapse.in {
  586. flex-basis: 100%;
  587. overflow-y: hidden;
  588. }
  589. .collapse.in .navigation__items {
  590. display: block;
  591. }
  592. }
  593. .navigation__logo,
  594. .navigation__logo:visited,
  595. .navigation__logo:focus {
  596. display: inline-block;
  597. color: var(--dark);
  598. font-family: var(--font--primary);
  599. font-weight: 400;
  600. font-size: 1.5rem;
  601. line-height: 1.25;
  602. margin: 0;
  603. position: relative;
  604. }
  605. @media (min-width: 1150px) {
  606. .navigation__logo::after {
  607. content: '';
  608. position: absolute;
  609. right: -20px;
  610. top: -5px;
  611. bottom: 0;
  612. width: 1px;
  613. height: 42px;
  614. background-color: var(--border-grey);
  615. }
  616. }
  617. .dropdown-menu {
  618. background-color: var(--cream);
  619. border-radius: 0;
  620. border: transparent;
  621. }
  622. .dropdown-menu > li > a {
  623. border-bottom: 1px solid var(--border-grey);
  624. color: var(--dark);
  625. font-family: var(--font--secondary);
  626. padding: 10px 20px;
  627. }
  628. .dropdown-menu > li > a:hover {
  629. text-decoration: underline;
  630. }
  631. /* Menu dropdown hack to allow toggling */
  632. li.has-submenu a.allow-toggle {
  633. float: left;
  634. padding-right: 0;
  635. }
  636. .caret-custom {
  637. float: right;
  638. padding: 10px 10px 15px 5px !important;
  639. }
  640. .caret-custom::after {
  641. content: '▼' !important;
  642. }
  643. /* Mobile menu styling */
  644. @media (max-width: 1150px) {
  645. .nav-pills > .presentation {
  646. float: none;
  647. width: 100%;
  648. }
  649. }
  650. /* Custom page footer */
  651. hr {
  652. margin: 0;
  653. border-top: 1px solid var(--light-brown);
  654. opacity: 0.25;
  655. }
  656. footer {
  657. padding: 55px 0 30px;
  658. background-color: var(--white);
  659. }
  660. .footer__icon a {
  661. color: var(--cream);
  662. font-size: 1.5rem;
  663. }
  664. .footer__icon .fa-inverse {
  665. color: var(--orange);
  666. }
  667. .footer__icon:hover a {
  668. color: var(--orange);
  669. }
  670. .footer__icon:hover .fa-inverse {
  671. color: var(--cream);
  672. }
  673. .copyright p {
  674. color: var(--dark);
  675. font-family: var(--font--secondary);
  676. font-size: var(--font-sm);
  677. line-height: 1.5;
  678. }
  679. @media (min-width: 768px) {
  680. .copyright p {
  681. font-size: var(--font-md);
  682. line-height: 1.55;
  683. }
  684. }
  685. .container {
  686. width: auto;
  687. padding-left: 20px;
  688. padding-right: 20px;
  689. }
  690. @media (min-width: 768px) {
  691. .container {
  692. max-width: 1400px;
  693. padding-left: 40px;
  694. padding-right: 40px;
  695. }
  696. }
  697. .container-narrow > hr {
  698. margin: 30px 0;
  699. }
  700. /* Breadcrumbs */
  701. .breadcrumb-container {
  702. position: relative;
  703. z-index: 3;
  704. margin-bottom: 15px;
  705. }
  706. .breadcrumb {
  707. color: var(--dark);
  708. font-family: var(--font--secondary);
  709. font-size: var(--font-sm);
  710. line-height: 1.5;
  711. margin-bottom: 0;
  712. padding-left: 0;
  713. text-decoration: underline;
  714. background-color: transparent;
  715. }
  716. .breadcrumb > li + li::before {
  717. display: none;
  718. }
  719. .breadcrumb__chevron-icon {
  720. width: 8px;
  721. height: 16px;
  722. margin: 0 10px;
  723. }
  724. .breadcrumb__chevron-icon path {
  725. fill: var(--dark);
  726. }
  727. .breadcrumb a,
  728. .breadcrumb .active {
  729. color: var(--dark);
  730. text-decoration: underline;
  731. }
  732. .breadcrumb a:hover {
  733. color: var(--dark-orange);
  734. }
  735. /* Pagination navigation */
  736. .pagination {
  737. display: block;
  738. margin: 0 auto 40px;
  739. }
  740. .pagination__list {
  741. display: flex;
  742. width: 100%;
  743. justify-content: center;
  744. gap: 20px;
  745. list-style-type: none;
  746. padding-left: 0;
  747. }
  748. .pagination .page-item a {
  749. text-transform: capitalize;
  750. text-decoration: underline;
  751. }
  752. .pagination .page-item.active span {
  753. color: var(--grey);
  754. }
  755. .pagination .page-item.disabled a {
  756. color: var(--grey);
  757. text-decoration: none;
  758. cursor: default;
  759. }
  760. /* Search page */
  761. .search__introduction {
  762. color: var(--dark);
  763. font-family: var(--font--primary);
  764. font-weight: 400;
  765. font-size: 1.625rem;
  766. line-height: 1.15;
  767. margin-top: 20px;
  768. margin-bottom: 40px;
  769. }
  770. .search__results {
  771. list-style-type: none;
  772. padding-left: 0;
  773. margin-bottom: 90px;
  774. }
  775. @media (min-width: 768px) {
  776. .search__introduction {
  777. margin-bottom: 60px;
  778. }
  779. .search__results {
  780. margin-bottom: 120px;
  781. }
  782. }
  783. /* Location list page */
  784. .location-list-page {
  785. padding: 0 0 70px;
  786. display: grid;
  787. grid-template-columns: 1fr;
  788. gap: 10px;
  789. }
  790. @media (min-width: 768px) {
  791. .location-list-page {
  792. padding: 50px 0 110px;
  793. grid-template-columns: 1fr 1fr;
  794. gap: 30px;
  795. }
  796. }
  797. /* Location detail page */
  798. .location__meta-title {
  799. font-family: var(--font--primary);
  800. margin-top: 30px;
  801. margin-bottom: 10px;
  802. font-size: 1.625rem;
  803. line-height: 1.23;
  804. }
  805. .location__meta-title:first-child {
  806. margin-top: 0;
  807. }
  808. .location__day {
  809. font-weight: bold;
  810. font-family: var(--font--secondary);
  811. }
  812. .location__time {
  813. display: block;
  814. }
  815. /* ---- Blog Index Page ---- */
  816. .blog-tags {
  817. list-style: none;
  818. display: flex;
  819. flex-wrap: wrap;
  820. padding-left: 0;
  821. row-gap: 25px;
  822. column-gap: 15px;
  823. margin-bottom: 70px;
  824. }
  825. .blog-tags.blog-tags--condensed {
  826. column-gap: 0;
  827. }
  828. .blog-tags__pill {
  829. padding: 10px 18px;
  830. font-size: var(--font-md);
  831. line-height: 1.55;
  832. border: 1px solid var(--orange);
  833. border-radius: 60px;
  834. margin-left: 20px;
  835. text-transform: capitalize;
  836. }
  837. .blog-tags__pill--selected {
  838. background-color: var(--dark-orange);
  839. border: 1px solid var(--dark-orange);
  840. color: var(--white);
  841. }
  842. .blog-tags__pill:hover.blog-tags__pill--selected {
  843. background-color: var(--dark-orange);
  844. }
  845. .blog-tags__pill:first-child {
  846. margin-left: 0;
  847. }
  848. .blog-tags__pill:hover {
  849. background-color: var(--orange);
  850. color: var(--white);
  851. }
  852. .blog-tags__tag {
  853. color: var(--orange);
  854. text-transform: capitalize;
  855. }
  856. .blog-list {
  857. padding: 0;
  858. }
  859. .blog-list-item {
  860. display: flex;
  861. flex-direction: column;
  862. margin-bottom: 20px;
  863. }
  864. .blog-list-item a {
  865. display: flex;
  866. flex-grow: 1;
  867. flex-direction: column;
  868. }
  869. .blog-list-item:hover img {
  870. opacity: 0.3;
  871. }
  872. .blog-list-item .image {
  873. overflow: hidden;
  874. background-color: #eb7400;
  875. flex: 1 0 auto;
  876. }
  877. .blog-list-item .image img {
  878. min-height: 510px;
  879. width: auto;
  880. min-width: 100%;
  881. }
  882. .blog-list-item .text {
  883. background: linear-gradient(
  884. to bottom,
  885. rgb(0 0 0 / 0%) 0%,
  886. rgb(0 0 0 / 60%) 23%,
  887. rgb(0 0 0 / 100%) 50%
  888. );
  889. margin-top: -150px;
  890. padding: 20px;
  891. position: relative;
  892. z-index: 1;
  893. }
  894. .blog-list-item .text h2 {
  895. color: #fff;
  896. font-weight: 200;
  897. margin-top: 0;
  898. }
  899. .blog-list-item .text p {
  900. color: #e3e3e3;
  901. font-size: 0.875rem;
  902. margin-bottom: 0;
  903. }
  904. .blog-list-item .footer {
  905. background-color: #333;
  906. color: #fff;
  907. margin-top: 0;
  908. padding: 20px;
  909. position: relative;
  910. z-index: 1;
  911. }
  912. /* ---- Blog Page ---- */
  913. .blog__meta {
  914. margin-bottom: 20px;
  915. }
  916. .blog__avatar {
  917. border-radius: 100%;
  918. display: inline;
  919. width: unset;
  920. margin-right: 10px;
  921. }
  922. .blog__avatars {
  923. margin-bottom: 20px;
  924. }
  925. .blog__author {
  926. font-family: var(--font--primary);
  927. font-size: 1.375rem;
  928. line-height: 1.18;
  929. display: inline-block;
  930. margin-right: 40px;
  931. margin-bottom: 10px;
  932. }
  933. .blog__published {
  934. color: var(--grey);
  935. margin-bottom: 30px;
  936. }
  937. .blog__tag-introduction {
  938. font-size: var(--font-md);
  939. color: var(--grey);
  940. margin-bottom: 20px;
  941. margin-top: 60px;
  942. }
  943. @media (min-width: 768px) {
  944. .blog__published {
  945. margin-bottom: 40px;
  946. }
  947. .blog__avatars {
  948. margin-bottom: 40px;
  949. }
  950. .blog__tag-introduction {
  951. margin-top: 100px;
  952. }
  953. }
  954. /* ---- Gallery Page ---- */
  955. .gallery__container {
  956. padding-top: 40px;
  957. padding-bottom: 60px;
  958. }
  959. .gallery__introduction {
  960. color: var(--dark);
  961. font-family: var(--font--primary);
  962. font-size: 1.625rem;
  963. line-height: 1.15;
  964. margin: 0 0 60px;
  965. }
  966. .gallery__grid {
  967. display: grid;
  968. grid-template-columns: 1fr;
  969. gap: 10px;
  970. }
  971. @media (min-width: 768px) {
  972. .gallery__container {
  973. padding-top: 180px;
  974. padding-bottom: 80px;
  975. }
  976. .gallery__introduction {
  977. font-size: 2rem;
  978. line-height: 1.31;
  979. margin: 0 0 85px;
  980. }
  981. .gallery__grid {
  982. grid-template-columns: 1fr 1fr;
  983. gap: 30px;
  984. }
  985. }
  986. /* ---- Bread Index Page ---- */
  987. .bread-list {
  988. list-style-type: none;
  989. padding-left: 0;
  990. padding-bottom: 40px;
  991. }
  992. @media (min-width: 992px) {
  993. .bread-list {
  994. display: grid;
  995. grid-template-columns: 1fr 1fr;
  996. gap: 30px;
  997. padding-top: 30px;
  998. padding-bottom: 80px;
  999. }
  1000. }
  1001. /* ---- Bread Detail Page ---- */
  1002. .bread-detail {
  1003. padding-bottom: 60px;
  1004. }
  1005. .bread-detail__introduction {
  1006. color: var(--dark);
  1007. font-family: var(--font--primary);
  1008. font-size: 1.625rem;
  1009. line-height: 1.15;
  1010. margin-top: 50px;
  1011. margin-bottom: 65px;
  1012. }
  1013. @media (min-width: 768px) {
  1014. .bread-detail__introduction {
  1015. font-size: 2rem;
  1016. line-height: 1.31;
  1017. margin-top: 160px;
  1018. }
  1019. }
  1020. .bread-detail figure {
  1021. margin: 35px auto 20px;
  1022. overflow: hidden;
  1023. }
  1024. .bread-detail figure img {
  1025. height: auto;
  1026. }
  1027. .bread-detail__meta {
  1028. background-color: var(--cream);
  1029. padding: 40px;
  1030. margin-right: -15px;
  1031. margin-bottom: 60px;
  1032. }
  1033. .bread-detail__meta ul li {
  1034. border-bottom: 1px solid var(--border-grey);
  1035. list-style: none;
  1036. color: var(--grey);
  1037. max-width: 450px;
  1038. margin-bottom: 15px;
  1039. }
  1040. .bread-detail__meta-title {
  1041. font-family: var(--font--secondary);
  1042. font-weight: 700;
  1043. font-size: var(--font-md);
  1044. line-height: 1.55;
  1045. margin: 0 0 5px;
  1046. }
  1047. .bread-detail__meta-content {
  1048. font-family: var(--font--secondary);
  1049. font-size: var(--font-md);
  1050. line-height: 1.55;
  1051. margin: 0 0 20px;
  1052. }
  1053. .bread-detail__meta-ingredient--draft {
  1054. color: transparent;
  1055. user-select: none;
  1056. cursor: help;
  1057. text-shadow: 0 0 7px rgb(0 0 0 / 50%);
  1058. }
  1059. @media (min-width: 992px) {
  1060. .bread-detail__meta {
  1061. background-color: var(--cream);
  1062. padding: 240px 60px 60px;
  1063. margin-right: -40px;
  1064. margin-bottom: 0;
  1065. }
  1066. }
  1067. /* Forms */
  1068. .form-page {
  1069. padding-bottom: 60px;
  1070. }
  1071. .form-page input,
  1072. textarea,
  1073. select {
  1074. display: block;
  1075. width: 100%;
  1076. padding: 8px;
  1077. border: 1px solid var(--dark);
  1078. }
  1079. .form-page input[type='submit'] {
  1080. border: none;
  1081. color: var(--white);
  1082. background-color: var(--orange);
  1083. font-weight: 700;
  1084. padding: 15px 25px;
  1085. display: inline-block;
  1086. vertical-align: middle;
  1087. transition-duration: 0.1s;
  1088. width: max-content;
  1089. }
  1090. .form-page input[type='submit']:hover {
  1091. background-color: var(--dark);
  1092. }
  1093. .form-page li input[type='checkbox'],
  1094. input[type='radio'] {
  1095. display: inline-block;
  1096. margin-right: 10px;
  1097. }
  1098. .form-page__field ul,
  1099. .form-page__field li {
  1100. list-style: none;
  1101. padding: 0;
  1102. margin: 0;
  1103. }
  1104. .form-page .required {
  1105. color: var(--orange);
  1106. }
  1107. .form-page .help {
  1108. color: var(--dark);
  1109. font-family: var(--font--secondary);
  1110. font-size: var(--font-sm);
  1111. margin-top: 10px;
  1112. max-width: 350px;
  1113. }
  1114. .form-page__field {
  1115. color: var(--dark);
  1116. margin-bottom: 30px;
  1117. }
  1118. .form-page__field label {
  1119. margin-bottom: 10px;
  1120. }
  1121. .form-page__help-text {
  1122. color: var(--grey);
  1123. font-family: var(--font--secondary);
  1124. font-size: var(--font-md);
  1125. line-height: 28px;
  1126. margin: -10px 0 10px;
  1127. }
  1128. @media (min-width: 766px) {
  1129. .form-page input,
  1130. textarea,
  1131. select {
  1132. width: 100%;
  1133. }
  1134. .form-page {
  1135. padding-bottom: 140px;
  1136. }
  1137. .form-page__field {
  1138. margin-bottom: 50px;
  1139. }
  1140. }
  1141. /* Generic title image header include */
  1142. .base-header img {
  1143. height: auto;
  1144. margin-top: 20px;
  1145. max-width: 100%;
  1146. width: auto;
  1147. }
  1148. @media (max-width: 970px) {
  1149. .base-header img {
  1150. width: 100%;
  1151. }
  1152. }
  1153. /* Homepage */
  1154. /* #region -- Hero -- */
  1155. .homepage .hero {
  1156. margin: 0;
  1157. padding: 200px 0 30px;
  1158. }
  1159. .homepage .home-hero {
  1160. margin-bottom: 0;
  1161. padding-bottom: 20px;
  1162. }
  1163. @media (min-width: 768px) {
  1164. .homepage .home-hero {
  1165. padding-bottom: 140px;
  1166. }
  1167. }
  1168. .homepage .home-hero .lead {
  1169. font-family: var(--font--primary);
  1170. font-weight: 400;
  1171. color: var(--white);
  1172. margin: 40px auto;
  1173. font-size: 1.625rem;
  1174. line-height: 1.15;
  1175. }
  1176. @media (min-width: 768px) {
  1177. .homepage .home-hero .lead {
  1178. font-size: 2rem;
  1179. line-height: 1.31;
  1180. }
  1181. }
  1182. .homepage .home-hero .hero-cta-link {
  1183. color: var(--white);
  1184. background-color: var(--orange);
  1185. font-weight: 700;
  1186. padding: 15px 25px;
  1187. display: inline-block;
  1188. vertical-align: middle;
  1189. transition: color ease 0.1s, background-color ease 0.1s;
  1190. }
  1191. .homepage .home-hero .hero-cta-link:hover {
  1192. background-color: var(--white);
  1193. color: var(--dark-orange);
  1194. }
  1195. /* #endregion */
  1196. /* #region -- Body -- */
  1197. .homepage .streamfield {
  1198. background-color: var(--cream);
  1199. }
  1200. .homepage .streamfield a {
  1201. color: var(--dark-orange);
  1202. }
  1203. .homepage .streamfield-column {
  1204. padding: 80px 20px;
  1205. }
  1206. .homepage .streamfield-column p:first-child {
  1207. color: var(--dark-brown);
  1208. font-family: var(--font--primary);
  1209. font-size: 1.5rem;
  1210. line-height: 1.31;
  1211. margin-bottom: 30px;
  1212. }
  1213. .homepage .streamfield-column p:first-child a {
  1214. text-decoration-skip-ink: none;
  1215. text-decoration-thickness: 3px;
  1216. text-underline-offset: 4px;
  1217. }
  1218. .homepage .streamfield-column p {
  1219. font-size: 0.875rem;
  1220. line-height: 1.57;
  1221. }
  1222. .homepage .streamfield-column p:last-child {
  1223. margin-bottom: 0;
  1224. }
  1225. @media (min-width: 768px) {
  1226. .homepage .streamfield-column p {
  1227. font-size: var(--font-md);
  1228. line-height: 1.55;
  1229. }
  1230. }
  1231. @media (min-width: 992px) {
  1232. .homepage .streamfield-column {
  1233. padding: 140px 0;
  1234. }
  1235. .homepage .streamfield-column p:first-child {
  1236. font-size: 3.75rem;
  1237. line-height: 1.07;
  1238. margin-bottom: 60px;
  1239. }
  1240. }
  1241. /* #endregion */
  1242. /* #region -- Promo Section */
  1243. .homepage .promo-row {
  1244. padding: 40px 0 80px;
  1245. }
  1246. @media (min-width: 768px) {
  1247. .homepage .promo-row {
  1248. padding-top: 80px;
  1249. margin-right: -45px;
  1250. }
  1251. }
  1252. .homepage .promo h2 {
  1253. margin-top: 0;
  1254. margin-bottom: 20px;
  1255. color: var(--white);
  1256. }
  1257. .homepage .promo p,
  1258. .homepage .promo li {
  1259. color: var(--white);
  1260. }
  1261. .homepage .promo a {
  1262. color: var(--white);
  1263. text-decoration: underline;
  1264. }
  1265. .homepage .promo {
  1266. background: var(--light-brown);
  1267. height: 100%;
  1268. padding: 60px 40px;
  1269. margin-top: 40px;
  1270. margin-bottom: 100px;
  1271. }
  1272. .homepage .promo-text {
  1273. padding: 0;
  1274. }
  1275. .homepage .promo figure img {
  1276. margin: 40px 0 -200px;
  1277. width: 100%;
  1278. height: auto;
  1279. }
  1280. @media (min-width: 768px) {
  1281. .homepage .promo {
  1282. margin-top: -180px;
  1283. margin-right: -120px;
  1284. padding: 180px 60px 40px;
  1285. }
  1286. .homepage .promo figure img {
  1287. width: calc(100% + 60px);
  1288. height: auto;
  1289. margin-right: -60px;
  1290. margin-bottom: -280px;
  1291. padding-top: 20px;
  1292. }
  1293. .homepage .promo p {
  1294. font-size: 1.25rem;
  1295. line-height: 1.35;
  1296. }
  1297. }
  1298. /* #endregion */
  1299. /* #region -- Featured Cards Section -- */
  1300. .homepage .featured-cards__list {
  1301. list-style: none;
  1302. padding-left: 0;
  1303. }
  1304. .homepage .featured-cards__title {
  1305. margin-top: 0;
  1306. margin-bottom: 40px;
  1307. }
  1308. .homepage .featured-cards__link {
  1309. display: flex;
  1310. flex-direction: row;
  1311. justify-content: baseline;
  1312. font-family: var(--font--primary);
  1313. margin: 0 auto;
  1314. width: max-content;
  1315. font-size: var(--font-md);
  1316. line-height: 1.28;
  1317. }
  1318. .homepage .featured-cards__chevron-icon {
  1319. margin-left: 8px;
  1320. width: 8px;
  1321. height: 22px;
  1322. transition: transform ease 0.1s;
  1323. }
  1324. .homepage .featured-cards__link:hover {
  1325. text-decoration: underline;
  1326. }
  1327. .homepage .featured-cards__link:hover .featured-cards__chevron-icon {
  1328. transform: translateX(5px);
  1329. }
  1330. .homepage .featured-cards__link:hover .featured-cards__chevron-icon path {
  1331. fill: var(--dark-orange);
  1332. }
  1333. @media (min-width: 768px) {
  1334. .homepage .featured-cards {
  1335. padding-right: 50px;
  1336. }
  1337. .homepage .featured-cards__link {
  1338. font-size: 1.5rem;
  1339. line-height: 30px;
  1340. margin: unset;
  1341. }
  1342. .homepage .featured-cards__chevron-icon {
  1343. width: 12px;
  1344. height: 28px;
  1345. align-self: center;
  1346. }
  1347. }
  1348. /* #endregion */
  1349. /* #region -- Location Section -- */
  1350. .homepage .locations-section {
  1351. padding: 40px 0 20px;
  1352. text-align: center;
  1353. }
  1354. .homepage .locations-section__title {
  1355. color: var(--dark);
  1356. font-style: normal;
  1357. font-weight: 400;
  1358. font-size: 2.375rem;
  1359. line-height: 1.16;
  1360. margin-bottom: 40px;
  1361. }
  1362. @media (min-width: 768px) {
  1363. .homepage .locations-section {
  1364. text-align: left;
  1365. padding: 120px 0 160px;
  1366. }
  1367. .homepage .locations-section__title {
  1368. font-size: 3.75rem;
  1369. line-height: 1.07;
  1370. /* Aligns title with below cards */
  1371. padding-left: 10px;
  1372. }
  1373. }
  1374. /* #endregion */
  1375. /* #region -- Blog Section -- */
  1376. .homepage .blog-section {
  1377. padding: 80px 20px 100px;
  1378. text-align: center;
  1379. }
  1380. .homepage .blog-section__background {
  1381. background-color: var(--cream);
  1382. }
  1383. .homepage .blog-section__title {
  1384. color: var(--dark-brown);
  1385. font-weight: 400;
  1386. font-size: 2.375rem;
  1387. line-height: 1.16;
  1388. margin-bottom: 60px;
  1389. margin-top: 0;
  1390. }
  1391. .homepage .blog-section__grid {
  1392. display: grid;
  1393. gap: 10px;
  1394. grid-template-columns: 1fr;
  1395. }
  1396. @media (min-width: 566px) {
  1397. .homepage .blog-section__grid {
  1398. grid-template-columns: 1fr 1fr;
  1399. }
  1400. }
  1401. @media (min-width: 768px) {
  1402. .homepage .blog-section {
  1403. padding: 90px 0 110px;
  1404. }
  1405. }
  1406. @media (min-width: 966px) {
  1407. .homepage .blog-section__grid {
  1408. grid-template-columns: 1fr 1fr 1fr;
  1409. }
  1410. .homepage .blog-section__title {
  1411. margin-bottom: 90px;
  1412. font-size: 7.5rem;
  1413. line-height: 1.21;
  1414. }
  1415. }
  1416. /* #endregion */
  1417. /* Miscellaneous helper styles */
  1418. /* No gutters */
  1419. .row.no-gutters {
  1420. margin-right: 0;
  1421. margin-left: 0;
  1422. }
  1423. @media (max-width: 970px) {
  1424. .row.no-gutters {
  1425. display: block;
  1426. }
  1427. }
  1428. .row.no-gutters > [class^='col-'],
  1429. .row.no-gutters > [class*=' col-'] {
  1430. padding-right: 0;
  1431. padding-left: 0;
  1432. }
  1433. /* Bootstrap Equal height rows */
  1434. .row-eq-height {
  1435. display: box;
  1436. display: flex;
  1437. display: flexbox;
  1438. display: flex;
  1439. flex-wrap: wrap;
  1440. }
  1441. @media (min-width: 992px) {
  1442. .hidden-md-up {
  1443. display: none;
  1444. }
  1445. }
  1446. @media (max-width: 991px) {
  1447. .hidden-md-down {
  1448. display: none;
  1449. }
  1450. }
  1451. /* From Wagtail core */
  1452. .richtext-image.left {
  1453. float: left;
  1454. width: 50%;
  1455. }
  1456. .richtext-image.right {
  1457. float: right;
  1458. width: 50%;
  1459. }
  1460. /* ---- Component Styles ---- */
  1461. /* #region ---- Picture Card ---- */
  1462. .picture-card {
  1463. position: relative;
  1464. }
  1465. .picture-card__link:hover .picture-card__image img {
  1466. transform: scale(1.05);
  1467. }
  1468. .picture-card__link:hover .picture-card__title {
  1469. text-decoration: underline;
  1470. }
  1471. .picture-card__title {
  1472. color: var(--white);
  1473. font-family: var(--font--primary);
  1474. font-size: 1.625rem;
  1475. line-height: 1.15;
  1476. margin: 0;
  1477. }
  1478. .picture-card__image {
  1479. overflow: hidden;
  1480. margin-bottom: 0;
  1481. }
  1482. .picture-card__image img {
  1483. transition: transform 0.2s ease;
  1484. }
  1485. .picture-card__image::before {
  1486. content: '';
  1487. position: absolute;
  1488. height: 200px;
  1489. left: 0;
  1490. right: 0;
  1491. bottom: 0;
  1492. background: linear-gradient(180deg, rgb(0 0 0 / 0%) 0%, #000 67.69%);
  1493. z-index: 2;
  1494. }
  1495. .picture-card__contents {
  1496. position: absolute;
  1497. top: 0;
  1498. bottom: 0;
  1499. left: 0;
  1500. right: 0;
  1501. text-align: left;
  1502. display: flex;
  1503. align-items: end;
  1504. padding: 20px;
  1505. z-index: 2;
  1506. }
  1507. @media (min-width: 768px) {
  1508. .picture-card__title {
  1509. font-size: 2rem;
  1510. line-height: 1.31;
  1511. }
  1512. .picture-card__contents {
  1513. padding: 30px 40px;
  1514. }
  1515. }
  1516. /* #endregion */
  1517. /* #region ---- Listing Card ---- */
  1518. .listing-card {
  1519. margin-bottom: 40px;
  1520. }
  1521. .listing-card__meta {
  1522. border-collapse: separate;
  1523. border-spacing: 5px;
  1524. }
  1525. .listing-card__link {
  1526. display: flex;
  1527. flex-direction: row;
  1528. padding-bottom: 30px;
  1529. border-bottom: 1px solid var(--border-grey);
  1530. }
  1531. .listing-card__contents {
  1532. padding-top: 10px;
  1533. padding-left: 25px;
  1534. }
  1535. .listing-card__title {
  1536. color: var(--orange);
  1537. margin-top: 0;
  1538. }
  1539. .listing-card__meta-category {
  1540. color: var(--grey);
  1541. font-size: 0.875rem;
  1542. line-height: 1.57;
  1543. padding-right: 10px;
  1544. vertical-align: top;
  1545. }
  1546. .listing-card__meta-content {
  1547. color: var(--dark);
  1548. font-size: 0.875rem;
  1549. line-height: 1.57;
  1550. vertical-align: top;
  1551. }
  1552. .listing-card__meta-row:last-child {
  1553. margin-bottom: 0;
  1554. }
  1555. .listing-card__image {
  1556. width: 100%;
  1557. overflow: hidden;
  1558. margin: 0;
  1559. max-width: 100px;
  1560. max-height: 110px;
  1561. }
  1562. .listing-card__image img {
  1563. transition: transform ease 0.2s;
  1564. }
  1565. .listing-card:hover .listing-card__image img {
  1566. transform: scale(1.05);
  1567. }
  1568. .listing-card:hover .listing-card__title {
  1569. color: var(--dark-orange);
  1570. text-decoration: underline;
  1571. }
  1572. @media (min-width: 768px) {
  1573. .listing-card__contents {
  1574. padding-left: 45px;
  1575. padding-top: 30px;
  1576. }
  1577. .listing-card__image {
  1578. width: 100%;
  1579. overflow: hidden;
  1580. margin: 0;
  1581. max-width: 180px;
  1582. max-height: 180px;
  1583. }
  1584. .listing-card__meta-category,
  1585. .listing-card__meta-content {
  1586. font-size: var(--font-sm);
  1587. line-height: 1.5;
  1588. }
  1589. }
  1590. /* #endregion */
  1591. /* #region ---- Blog Listing Card ---- */
  1592. .blog-listing-card {
  1593. padding-bottom: 40px;
  1594. width: 100%;
  1595. }
  1596. .blog-listing-card:last-child {
  1597. padding-bottom: 100px;
  1598. }
  1599. .blog-listing-card__link {
  1600. display: flex;
  1601. flex-direction: column;
  1602. padding-bottom: 30px;
  1603. border-bottom: 1px solid var(--transparent-border);
  1604. }
  1605. .blog-listing-card__contents {
  1606. padding-top: 10px;
  1607. }
  1608. .blog-listing-card__title {
  1609. font-size: 1.625rem;
  1610. line-height: 1.15;
  1611. color: var(--orange);
  1612. margin-top: 0;
  1613. margin-bottom: 8px;
  1614. }
  1615. .blog-listing-card__introduction {
  1616. font-size: var(--font-sm);
  1617. line-height: 1.5;
  1618. color: var(--dark);
  1619. margin-bottom: 8px;
  1620. max-width: 530px;
  1621. }
  1622. .blog-listing-card__metadata {
  1623. font-size: 0.875rem;
  1624. line-height: 1.43;
  1625. color: var(--grey);
  1626. margin-bottom: 0;
  1627. }
  1628. .blog-listing-card__image {
  1629. width: 100%;
  1630. overflow: hidden;
  1631. margin: 0;
  1632. }
  1633. .blog-listing-card__image img {
  1634. transition: transform ease 0.2s;
  1635. }
  1636. .blog-listing-card:hover .blog-listing-card__image img {
  1637. transform: scale(1.05);
  1638. }
  1639. .blog-listing-card:hover .blog-listing-card__title {
  1640. color: var(--dark-orange);
  1641. text-decoration: underline;
  1642. }
  1643. @media (min-width: 768px) {
  1644. .blog-listing-card:last-child {
  1645. padding-bottom: 200px;
  1646. }
  1647. .blog-listing-card__link {
  1648. flex-direction: row;
  1649. }
  1650. .blog-listing-card__contents {
  1651. padding-top: 30px;
  1652. padding-left: 45px;
  1653. }
  1654. .blog-listing-card__title {
  1655. font-size: 2rem;
  1656. line-height: 1.31;
  1657. }
  1658. .blog-listing-card__introduction {
  1659. font-size: var(--font-md);
  1660. line-height: 1.55;
  1661. }
  1662. .blog-listing-card__image {
  1663. flex-shrink: 0;
  1664. overflow: hidden;
  1665. margin: 0;
  1666. width: 325px;
  1667. height: 250px;
  1668. }
  1669. }
  1670. /* #endregion */
  1671. /* #region ---- Location Card ---- */
  1672. .location-card {
  1673. display: flex;
  1674. flex-direction: column;
  1675. margin: 0 auto 50px;
  1676. text-align: left;
  1677. }
  1678. .location-card:hover .location-card__image img {
  1679. transform: scale(1.05);
  1680. }
  1681. .location-card:hover .location-card__title {
  1682. color: var(--dark-orange);
  1683. }
  1684. .location-card__image {
  1685. margin-bottom: 0;
  1686. overflow: hidden;
  1687. }
  1688. .location-card__image img {
  1689. object-fit: cover;
  1690. min-height: 210px;
  1691. transition: transform 0.2s ease;
  1692. }
  1693. .location-card__title {
  1694. color: var(--orange);
  1695. font-size: 1.625rem;
  1696. line-height: 1.15;
  1697. margin-bottom: 10px;
  1698. font-weight: 400;
  1699. width: max-content;
  1700. position: relative;
  1701. }
  1702. .location-card__title::before {
  1703. content: '';
  1704. bottom: 3px;
  1705. position: absolute;
  1706. left: 0;
  1707. right: 0;
  1708. height: 2px;
  1709. background-color: var(--dark-orange);
  1710. opacity: 0;
  1711. transition: opacity 0.3s ease;
  1712. }
  1713. .location-card:hover .location-card__title::before {
  1714. opacity: 1;
  1715. }
  1716. .location-card__text {
  1717. color: var(--dark);
  1718. font-size: var(--font-sm);
  1719. line-height: 1.5;
  1720. }
  1721. @media (min-width: 768px) {
  1722. .location-card {
  1723. margin-bottom: 0;
  1724. }
  1725. .location-card__image {
  1726. margin-bottom: 30px;
  1727. }
  1728. .location-card__image img {
  1729. min-height: 320px;
  1730. }
  1731. .location-card__title {
  1732. font-size: 2rem;
  1733. line-height: 1.31;
  1734. margin-bottom: 20px;
  1735. }
  1736. .location-card__text {
  1737. font-size: var(--font-md);
  1738. line-height: 1.55;
  1739. }
  1740. }
  1741. /* #endregion */
  1742. /* Utilities */
  1743. .u-sr-only {
  1744. position: absolute;
  1745. width: 1px;
  1746. height: 1px;
  1747. padding: 0;
  1748. margin: -1px;
  1749. overflow: hidden;
  1750. clip: rect(0, 0, 0, 0);
  1751. white-space: nowrap;
  1752. border: 0;
  1753. }