main.css 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. /* Variables */
  2. :root {
  3. --tile-margin: .9vw;
  4. --caption-hmargin: calc(2 * var(--tile-margin));
  5. --caption-vmargin: calc(1 * var(--tile-margin));
  6. --body-margin: 3.6vw;
  7. --theme-color: #46c8a5;
  8. /* --tile-margin: 12.75px; */
  9. /* --body-margin: 66px; */
  10. --header-inner-space: calc(8 * var(--tile-margin));
  11. --header-space: calc(10 * var(--tile-margin) - 10px);
  12. }
  13. /* Columns */
  14. @media (min-width: 1501px) {
  15. :root { --columns: 5; }
  16. }
  17. @media (max-width: 1500px) {
  18. :root { --columns: 5; }
  19. }
  20. @media (max-width: 1000px) {
  21. :root { --columns: 4; }
  22. }
  23. @media (max-width: 700px) {
  24. :root { --columns: 3; }
  25. }
  26. @media (max-width: 500px) {
  27. :root { --columns: 2; }
  28. }
  29. @media (max-width: 400px) {
  30. :root { --columns: 2; }
  31. }
  32. /* Font Size */
  33. :root {
  34. /* font-size: 180%; */
  35. font-size: 1.2vw;
  36. font-weight: 100;
  37. }
  38. h1 {
  39. /* font-size: 97%; */
  40. font-size: 1.18vw;
  41. }
  42. /* @media (max-width: 1500px) {
  43. :root { font-size: 22px; }
  44. h1 { font-size: 22px; }
  45. }
  46. @media (max-width: 1240px) {
  47. :root { font-size: 18px; }
  48. }
  49. @media (max-width: 1080px) {
  50. :root { font-size: 16px; }
  51. } */
  52. /* Margins */
  53. /* @media (max-width: 1080px) {
  54. :root {
  55. --tile-margin: 12.75px;
  56. --body-margin: 33px;
  57. }
  58. } */
  59. /* Header */
  60. @media (max-width: 600px) {
  61. #mobile-header { visibility: visible; }
  62. #wide-header { visibility: hidden; }
  63. :root { --header-space: 100px; }
  64. }
  65. @media (min-width: 601px) {
  66. #mobile-header { visibility: hidden; }
  67. #wide-header { visibility: visible; }
  68. }
  69. #logo {
  70. width: 10vw;
  71. margin: 0 .7vw -.9vw .5vw;
  72. }
  73. /* @media (max-width: 460px) {
  74. #logo { width: 130px; }
  75. } */
  76. /* Typographies */
  77. @font-face {
  78. font-family: 'akrobat-regular';
  79. src: url('/static/font/Akrobat-Regular.otf') format('opentype');
  80. }
  81. @font-face {
  82. font-family: 'akrobat-bold';
  83. src: url('/static/font/Akrobat-Bold.otf') format('opentype');
  84. }
  85. /* Rules */
  86. :root {
  87. font-family: 'akrobat-regular';
  88. /* letter-spacing: 1.5px; */
  89. letter-spacing: .07rem;
  90. }
  91. .sec-div {
  92. font-weight: bold;
  93. font-family: 'akrobat-regular';
  94. }
  95. a {
  96. color: black;
  97. margin: .05rem .3rem;
  98. text-decoration: none;
  99. }
  100. a.en {
  101. margin-bottom: .3em;
  102. }
  103. h1 {
  104. font-size: 1.1em;
  105. text-align: center;
  106. /* letter-spacing: 1px; */
  107. letter-spacing: .05rem;
  108. font-weight: 100;
  109. font-family: 'akrobat-bold';
  110. text-decoration: none;
  111. text-transform: uppercase;
  112. margin: .2em 0;
  113. }
  114. h2 {
  115. font-size: .9em;
  116. font-family: 'akrobat-bold';
  117. text-decoration: none;
  118. text-transform: uppercase;
  119. }
  120. figure figcaption {
  121. font-size: .9em;
  122. }
  123. a.selected, a[href]:hover {
  124. /* cursor: default; */
  125. /* display: inline-block; */
  126. color: var(--theme-color);
  127. }
  128. div {
  129. display: flex;
  130. }
  131. body {
  132. width: calc(100% - 2*var(--body-margin));
  133. margin: 0 var(--body-margin);
  134. /* width: 94%;
  135. margin: 0 3%; */
  136. /* width: calc(100% - 2*var(--body-margin)); */
  137. /* margin: 0 var(--body-margin); */
  138. position: absolute;
  139. }
  140. #wide-header {
  141. width: calc(100% - 2*(var(--body-margin)));
  142. margin: 0;
  143. /* width: calc(100% - 2*(var(--body-margin) + var(--tile-margin))); */
  144. /* margin: 0 var(--tile-margin); */
  145. /* width: 100%; */
  146. /* margin: 0 calc(var(--body-margin) + var(--tile-margin)); */
  147. display: flex;
  148. flex-direction: column;
  149. /* margin: 0 0 0 var(--tile-margin); */
  150. justify-content: flex-end;
  151. position: fixed;
  152. /* width: calc(100% - 2*var(--body-margin) - 2*var(--tile-margin)); */
  153. background-color: white;
  154. /* padding-bottom: calc(2*var(--tile-margin)); */
  155. /* border-bottom: calc(2*var(--tile-margin)); */
  156. height: var(--header-space);
  157. position: fixed;
  158. z-index: 1;
  159. }
  160. /* header::after {
  161. content: " ";
  162. background-color: black;
  163. height: var(--header-line-width);
  164. width: 100%;
  165. align-self: flex-start;
  166. } */
  167. .header-box {
  168. padding-bottom: calc(2 * var(--tile-margin));
  169. overflow: hidden;
  170. display: flex;
  171. flex-direction: row;
  172. align-items: flex-end;
  173. justify-content: space-between;
  174. flex-wrap: wrap;
  175. height: var(--header-inner-space);
  176. }
  177. .vbox {
  178. display: flex;
  179. flex-direction: column;
  180. align-items: center;
  181. }
  182. .rbox .vbox {
  183. align-items: flex-end;
  184. }
  185. .lbox .vbox {
  186. align-items: flex-start;
  187. }
  188. .hbox {
  189. display: flex;
  190. flex-direction: row;
  191. align-items: center;
  192. }
  193. .lbox {
  194. display: flex;
  195. flex-direction: row;
  196. align-items: flex-end;
  197. justify-content: flex-start;
  198. }
  199. .rbox {
  200. display: flex;
  201. flex-direction: row;
  202. align-items: center;
  203. justify-content: flex-end;
  204. }
  205. .header-subtitle {
  206. display: flex;
  207. flex-direction: row;
  208. flex-wrap: wrap;
  209. justify-content: flex-end;
  210. align-items: center;
  211. margin-top: 0;
  212. }
  213. #alucho-title, #designer-subtitle {
  214. flex-wrap: wrap;
  215. }
  216. .no-bottom {
  217. margin-bottom: 0;
  218. }
  219. .header-title {
  220. display: flex;
  221. flex-direction: row;
  222. flex-wrap: wrap;
  223. justify-content: flex-end;
  224. align-items: center;
  225. /* margin-bottom: 8px; */
  226. }
  227. /* #wide-header > a, #wide-header > h1 {
  228. margin: 0 3px;
  229. } */
  230. /* .header-subtitle > a {
  231. margin: 0 5px;
  232. } */
  233. a.first {
  234. margin-left: var(--tile-margin);
  235. }
  236. a.last {
  237. margin-right: var(--tile-margin);
  238. }
  239. main {
  240. display: flex;
  241. flex-direction: row;
  242. flex-wrap: wrap;
  243. justify-content: flex-start;
  244. margin-top: var(--header-space);
  245. /* margin: 0; */
  246. /* margin-top: calc(var(--header-space) + var(--body-margin)); */
  247. position: static;
  248. /* position: absolute; */
  249. }
  250. figure {
  251. position: relative;
  252. display: flex;
  253. width: calc(100% / var(--columns) - 2 * var(--tile-margin));
  254. margin: var(--tile-margin);
  255. overflow: hidden;
  256. }
  257. figure img.tile, svg {
  258. display: flex;
  259. width: 100%;
  260. height: 100%;
  261. cursor: pointer;
  262. }
  263. figure figcaption {
  264. font-size: .9em;
  265. padding: var(--caption-vmargin) var(--caption-hmargin);
  266. display: flex;
  267. flex-direction: column;
  268. position: absolute;
  269. background-color: white;
  270. bottom: 0;
  271. width: calc(100% - 2 * var(--caption-hmargin));
  272. -webkit-transform: translateY(100%);
  273. -ms-transform: translateY(100%);
  274. transform: translateY(100%);
  275. }
  276. figure:hover figcaption {
  277. -webkit-transform: translateY(0);
  278. -ms-transform: translateY(0);
  279. transform: translateY(0);
  280. transition: .3s ease;
  281. }
  282. figcaption h1 {
  283. margin: 0;
  284. }
  285. .caption {
  286. display: flex;
  287. flex-direction: column;
  288. align-items: flex-start;
  289. }
  290. footer {
  291. display: flex;
  292. flex-direction: column;
  293. margin: 0 var(--tile-margin);
  294. height: var(--body-margin);
  295. font-size: .7em;
  296. font-weight: 900;
  297. }
  298. footer::after {
  299. content: " ";
  300. height: var(--tile-margin);
  301. bottom: 0;
  302. }
  303. .footer-content {
  304. height: calc(var(--body-margin) - var(--tile-margin));
  305. display: flex;
  306. flex-direction: row;
  307. flex-wrap: wrap;
  308. justify-content: space-between;
  309. }
  310. footer .copyright, footer .social {
  311. align-items: center;
  312. }
  313. footer a.first {
  314. margin-left: 0;
  315. }
  316. footer a.last {
  317. margin-right: 0;
  318. }
  319. footer svg {
  320. width: auto;
  321. height: 1.5em;
  322. margin-left: .75em;
  323. }
  324. .social a {
  325. margin: 0;
  326. }
  327. .hidden {
  328. visibility: hidden;
  329. }