A webmail client. Forked from https://git.sr.ht/~migadu/alps
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896
  1. /* Box sizing rules */
  2. *,
  3. *::before,
  4. *::after {
  5. box-sizing: border-box;
  6. }
  7. /* Remove default padding */
  8. ul[class],
  9. ol[class] {
  10. padding: 0;
  11. }
  12. /* Remove default margin */
  13. body,
  14. h1,
  15. h2,
  16. h3,
  17. h4,
  18. p,
  19. ul[class],
  20. ol[class],
  21. li,
  22. figure,
  23. figcaption,
  24. blockquote,
  25. dl,
  26. dd {
  27. margin: 0;
  28. }
  29. /* Set core body defaults */
  30. body {
  31. min-height: 100vh;
  32. scroll-behavior: smooth;
  33. text-rendering: optimizeSpeed;
  34. line-height: 1.5;
  35. }
  36. /* Remove list styles on ul, ol elements with a class attribute */
  37. ul[class],
  38. ol[class] {
  39. list-style: none;
  40. }
  41. /* A elements that don't have a class get default styles */
  42. a:not([class]) {
  43. text-decoration-skip-ink: auto;
  44. }
  45. /* Make images easier to work with */
  46. img {
  47. max-width: 100%;
  48. display: block;
  49. }
  50. /* Natural flow and rhythm in articles by default */
  51. article > * + * {
  52. margin-top: 1em;
  53. }
  54. /* Inherit fonts for inputs and buttons */
  55. input,
  56. button,
  57. textarea,
  58. select {
  59. font: inherit;
  60. }
  61. /* Remove all animations and transitions for people that prefer not to see them */
  62. @media (prefers-reduced-motion: reduce) {
  63. * {
  64. animation-duration: 0.01ms !important;
  65. animation-iteration-count: 1 !important;
  66. transition-duration: 0.01ms !important;
  67. scroll-behavior: auto !important;
  68. }
  69. }
  70. /** { box-sizing: content-box; }*/
  71. body { font-family: arial,sans-serif; font-size: 13px; padding: 0; margin: 0;
  72. min-width: 1024px; min-height: 100vh; display: flex; flex-direction: column;
  73. }
  74. input[type="text"],
  75. input[type="email"],
  76. input[type="password"],
  77. input[type="file"],
  78. input[type="number"],
  79. input[type="date"],
  80. input[type="time"],
  81. textarea,
  82. select {
  83. margin: 0;
  84. border: none;
  85. border: 1px solid #e0e0e0;
  86. box-shadow: inset 1px 1px 0 #f8f8f8;
  87. border-radius: 2px;
  88. font-size: 13px;
  89. padding: 0.3rem 0.5rem 0.3rem 0.5rem;
  90. background-color: white;
  91. }
  92. .page-wrap {
  93. display: flex;
  94. flex: 1 100%;
  95. flex-direction: row;
  96. }
  97. a { color: #15c; }
  98. button { font-size: 1rem; }
  99. header { border-bottom: 1px solid #e0e0e0;}
  100. header nav,
  101. footer { padding: 0.5rem 1rem 0.5rem 0.5rem; }
  102. header nav { min-height: 1rem; }
  103. /*header nav strong { color: #555; }*/
  104. header nav > a { margin-right: 1rem; }
  105. header nav span { color: #757373; }
  106. header nav div { float: right; }
  107. header nav div > a{ margin-left: 1rem; }
  108. header a.active { font-weight: bold; color: black; text-decoration: none; }
  109. header .notice {
  110. color: #0c5460;
  111. background-color: #d1ecf1;
  112. border: 1px solid #bee5eb;
  113. padding: 0.5rem;
  114. text-align: center;
  115. }
  116. footer { text-align: right; }
  117. .actions { padding: 0.5rem; }
  118. .container {
  119. flex: 1 auto;
  120. display: flex;
  121. flex-direction: column;
  122. flex-wrap: nowrap;
  123. min-width: 0;
  124. }
  125. .container.error {
  126. max-width: 800px;
  127. margin: 0 auto;
  128. padding: 1rem 0;
  129. }
  130. aside { flex: 0 0 180px; }
  131. aside img { display: block; }
  132. aside ul {
  133. list-style: none;
  134. margin: 0;
  135. padding: 0;
  136. }
  137. aside li {
  138. width: 100%;
  139. display: flex;
  140. padding: 0.4rem 0.5rem;
  141. }
  142. aside li a {
  143. flex-grow: 1;
  144. }
  145. aside .active {
  146. font-weight: bold;
  147. color: black;
  148. text-decoration: none;
  149. }
  150. aside .active,
  151. aside .new.active {
  152. background-color: #f6f6f6;
  153. }
  154. aside .new.active {
  155. color: #008d47;
  156. }
  157. aside button {
  158. margin: 0;
  159. cursor: pointer;
  160. text-decoration: none;
  161. text-align: center;
  162. display: inline-block;
  163. padding: 0 0.3rem;
  164. margin-right: 0.3rem;
  165. border: none;
  166. background: transparent;
  167. }
  168. aside .active button:hover {
  169. background: white;
  170. }
  171. aside button:hover {
  172. background: #f6f6f6;
  173. }
  174. main {
  175. flex: 1 100%;
  176. display: flex;
  177. flex-direction: column;
  178. padding: 0.5rem 1rem 0.5rem 0.5rem;
  179. min-width: 0;
  180. background-color: #f6f6f6;
  181. }
  182. main.login {
  183. justify-content: center;
  184. }
  185. main.login > section {
  186. align-self: center;
  187. background: white;
  188. min-width: 20rem;
  189. padding: 1rem;
  190. }
  191. aside a.new.active,
  192. main.create-update {
  193. background-color: #f6fff6;
  194. }
  195. main.create-update { flex: 1 auto; padding: 1rem; }
  196. main.create-update form {
  197. flex: 1 auto;
  198. display: flex;
  199. flex-direction: column;
  200. }
  201. main.create-update .headers {
  202. display: grid;
  203. grid-template-columns: auto 1fr auto;
  204. grid-template-rows: auto auto auto auto;
  205. grid-gap: 0.5rem;
  206. align-items: center;
  207. }
  208. main.create-update .headers.no-js {
  209. grid-template-columns: auto 1fr;
  210. }
  211. main.create-update .headers label {
  212. grid-column-start: 1;
  213. }
  214. main.create-update .headers input {
  215. grid-column-start: 2;
  216. grid-column-end: 3;
  217. }
  218. main.create-update #attachment-list {
  219. grid-column-start: 3;
  220. grid-row-start: 1;
  221. grid-row-end: 5;
  222. width: 25rem;
  223. height: 100%;
  224. background: #eee;
  225. overflow-y: scroll;
  226. border: 1px solid #eee;
  227. display: flex;
  228. flex-direction: column;
  229. }
  230. main.create-update #attachment-list .help {
  231. text-align: center;
  232. color: #555;
  233. margin-top: 1rem;
  234. }
  235. main.create-update #attachment-list .upload {
  236. width: calc(100% - 1rem);
  237. position: relative;
  238. display: flex;
  239. margin: 0.5rem;
  240. padding: 0.25rem 0.5rem;
  241. background: white;
  242. align-items: center;
  243. }
  244. main.create-update #attachment-list *:not(:last-child) {
  245. margin-right: 0.25rem;
  246. }
  247. main.create-update #attachment-list .upload .filename {
  248. flex-grow: 1;
  249. }
  250. main.create-update #attachment-list .upload button {
  251. padding: inherit;
  252. min-width: inherit;
  253. }
  254. main.create-update #attachment-list .upload .progress {
  255. position: absolute;
  256. height: 5px;
  257. background: #50C878;
  258. bottom: 0;
  259. left: 0;
  260. }
  261. main.create-update #attachment-list .upload .error {
  262. display: none;
  263. }
  264. main.create-update #attachment-list .upload.error .error {
  265. display: block;
  266. color: red;
  267. }
  268. main.create-update .text {
  269. flex: 1 auto;
  270. resize: none;
  271. margin-top: 1rem;
  272. position: relative;
  273. }
  274. main.create-update textarea {
  275. width: 100%;
  276. height: 100%;
  277. }
  278. #send-progress {
  279. position: absolute;
  280. left: 0;
  281. top: 0;
  282. width: 100%;
  283. height: 100%;
  284. font-size: 1.2rem;
  285. background: rgba(0, 0, 0, 0.2);
  286. display: flex;
  287. align-items: center;
  288. justify-content: center;
  289. }
  290. #send-progress svg {
  291. height: 1.2rem;
  292. margin-right: 0.3rem;
  293. animation: fa-spin 2s infinite linear;
  294. }
  295. #send-progress svg path {
  296. fill: currentColor;
  297. }
  298. @keyframes fa-spin {
  299. 0% {
  300. transform: rotate(0deg);
  301. }
  302. 100% {
  303. transform: rotate(1turn);
  304. }
  305. }
  306. main table { border-collapse: collapse; width: 100%; border: 1px solid #eee; }
  307. main table td {
  308. white-space: nowrap;
  309. padding: 0.3rem;
  310. overflow: hidden;
  311. text-overflow: ellipsis;
  312. max-width: 200px;
  313. }
  314. main table tbody tr { border-bottom: 1px solid #eee; }
  315. main table td a { text-decoration: none; }
  316. main table td a:hover { text-decoration: underline; }
  317. main.message table,
  318. main.event table { background-color: white; }
  319. main.message th,
  320. main.event th { width: 5%;}
  321. main.message h1,
  322. main.event h1 { font-size: 1.2rem; padding: 0.5rem;}
  323. main.message .remote-content {
  324. background: #eeffee;
  325. }
  326. main.message .remote-content td {
  327. color: black;
  328. }
  329. main.message .tabs {
  330. margin: 0.3rem 0 0 0;
  331. padding: 0;
  332. border-bottom: 1px solid #eee;
  333. overflow: visible;
  334. }
  335. main.message .tabs a {
  336. padding: 0.2rem 0.5rem;
  337. margin: 0;
  338. display: inline-block;
  339. height: calc(100% + 1px);
  340. margin-bottom: -1px;
  341. border-style: solid;
  342. border-color: transparent;
  343. border-width: 1px;
  344. text-decoration: none;
  345. color: #555;
  346. }
  347. main.message .tabs a.active,
  348. main.message .tabs a:hover {
  349. background-color: white;
  350. border-color: #eee #eee white #eee;
  351. color: black;
  352. }
  353. main.message pre,
  354. main.message iframe,
  355. main.contact .details,
  356. main.event pre {
  357. flex: 1 auto;
  358. padding: 1rem;
  359. margin: 0;
  360. background-color: white;
  361. border-style: solid;
  362. border-color: #eee;
  363. border-width: 0 1px 1px 1px;
  364. max-width: 100%;
  365. }
  366. main.message pre,
  367. main.event pre {
  368. white-space: pre-wrap;
  369. word-break: break-all;
  370. }
  371. main.message .message-header {
  372. display: flex;
  373. flex-direction: row;
  374. }
  375. main.message .message-header .parts {
  376. width: 30%;
  377. margin-left: 0.3rem;
  378. padding: 0.3rem 0.5rem;
  379. background: white;
  380. border-top: 1px solid #f2f2f2;
  381. }
  382. main.message .message-header .parts ul {
  383. margin: 0;
  384. padding: 0;
  385. list-style: none;
  386. }
  387. main.message .message-header .parts li {
  388. margin-left: 0;
  389. }
  390. main.contact dl {
  391. display: grid;
  392. grid-template-columns: auto 1fr;
  393. grid-template-rows: 1fr;
  394. grid-gap: 1rem;
  395. }
  396. main.create-update .actions {
  397. display: flex;
  398. flex-direction: row;
  399. align-items: center;
  400. background: transparent;
  401. padding-left: 0;
  402. margin-top: 0.3rem;
  403. }
  404. main.create-update .actions button,
  405. main.create-update .actions .button-link {
  406. padding: 0.4rem 1rem 0.35rem;
  407. font-weight: bold;
  408. }
  409. main.create-update .actions > *:not(:last-child) {
  410. margin-right: 1rem;
  411. }
  412. main.create-update .event-date {
  413. display: flex;
  414. flex-direction: row;
  415. align-items: center;
  416. }
  417. main.create-update .event-date input {
  418. width: inherit;
  419. flex-grow: 1;
  420. margin-left: 0.3rem;
  421. }
  422. .actions h3 {
  423. align-self: center;
  424. margin: 0 1.3rem 0 1rem;
  425. }
  426. .message-list-flags {
  427. display: flex;
  428. align-items: center;
  429. justify-content: flex-end;
  430. }
  431. .message-list-flags .flag-button {
  432. margin: 0;
  433. cursor: pointer;
  434. text-decoration: none;
  435. text-align: center;
  436. display: inline-block;
  437. padding: 0;
  438. border: none;
  439. color: #BFA300;
  440. font-size: 13pt;
  441. background: transparent;
  442. }
  443. .message-list-unread.message-list-flags .flag-button:hover {
  444. background: #f8f8f8;
  445. }
  446. .message-list-subject a { color: #77c; }
  447. .message-list-unread.message-list-sender,
  448. .message-list-unread.message-list-subject,
  449. .message-list-unread.message-list-date { font-weight: bold; }
  450. .message-list-unread.message-list-sender,
  451. .message-list-unread.message-list-date { color: black;}
  452. .message-list-unread.message-list-subject {
  453. font-weight: normal;
  454. color: #555;
  455. }
  456. .message-list-date {
  457. text-align: right;
  458. }
  459. .message-list-unread.message-list-subject a { color: #00c; }
  460. .message-list-unread {
  461. background-color: white;
  462. opacity: 1;
  463. }
  464. .message-list-unread:nth-child(5n+1) {
  465. border-left: 1px solid #f2f2f2;
  466. }
  467. .message-list-unread:nth-child(5n+5) {
  468. border-right: 1px solid #f2f2f2;
  469. }
  470. aside .new {
  471. color: #008d47;
  472. font-weight: bold;
  473. /*background-color: #f5fcf2;*/
  474. text-decoration: none;
  475. }
  476. main table th {
  477. text-align: left;
  478. padding: 0.3rem; font-weight: normal;
  479. }
  480. main table thead {
  481. border-bottom: 1px solid #e0e0e0;
  482. background-color: white;
  483. }
  484. main table tfoot {
  485. border-top: 1px solid #e0e0e0;
  486. background-color: white;
  487. }
  488. .message-list,
  489. .contact-list {
  490. display: flex;
  491. }
  492. .message-list section {
  493. width: 100%;
  494. }
  495. .actions {
  496. display: flex;
  497. flex-direction: row;
  498. background-color: white;
  499. padding: 0.3rem;
  500. }
  501. .message-list .actions:first-child,
  502. .contact-list .actions:first-child {
  503. border-bottom: 1px solid #e0e0e0;
  504. }
  505. .message-list .actions:last-child,
  506. .contact-list .actions:last-child {
  507. border-top: 1px solid #e0e0e0;
  508. }
  509. .actions input[type="text"] {
  510. flex: 1;
  511. margin: 0;
  512. }
  513. .actions input[type="text"] + button {
  514. margin-left: -4rem;
  515. width: 4rem;
  516. border-top-left-radius: 0;
  517. border-bottom-left-radius: 0;
  518. }
  519. .actions-wrap {
  520. display: flex;
  521. flex-grow: 1;
  522. flex-direction: row;
  523. }
  524. .actions-search {
  525. display: flex;
  526. flex-direction: row;
  527. flex-grow: 1;
  528. }
  529. .actions-pagination {
  530. margin-left: 1rem;
  531. display: flex;
  532. flex-direction: row;
  533. }
  534. .actions-pagination .button-link {
  535. padding: 0.3rem 0.5rem;
  536. }
  537. .actions-pagination .button-link:not(:last-child) {
  538. margin-right: 0.3rem;
  539. }
  540. .action-group:not(:last-child) {
  541. margin-bottom: 1rem;
  542. }
  543. .actions-wrap .action-group {
  544. margin-left: 0.3rem;
  545. margin-bottom: 0;
  546. }
  547. .action-group.grow {
  548. flex-grow: 1;
  549. }
  550. .action-group label,
  551. .action-group input,
  552. .action-group textarea,
  553. .action-group select {
  554. display: block;
  555. width: 100%;
  556. }
  557. .action-group .checkbox input {
  558. display: inline;
  559. width: 1rem;
  560. float: left;
  561. }
  562. .action-group select {
  563. height: 10rem;
  564. }
  565. .actions-message,
  566. .actions-contacts {
  567. display: flex;
  568. flex-direction: row;
  569. flex-grow: 1;
  570. align-items: center;
  571. }
  572. .message-list-checkbox,
  573. .contact-list-checkbox {
  574. align-self: center;
  575. }
  576. .message-list .messages,
  577. .contact-list .contacts {
  578. flex-grow: 1;
  579. }
  580. .message-grid {
  581. display: grid;
  582. grid-template-columns: auto 1fr auto 10fr auto;
  583. grid-template-rows: auto;
  584. }
  585. .contact-grid {
  586. display: grid;
  587. grid-template-columns: auto 1fr 3fr;
  588. grid-template-rows: auto;
  589. }
  590. .message-list .messages .message-grid > *,
  591. .contact-list .contacts .contact-grid > * {
  592. white-space: nowrap;
  593. padding: 0.3rem;
  594. overflow: hidden;
  595. text-overflow: ellipsis;
  596. display: flex;
  597. align-items: center;
  598. }
  599. .followups a:not(:first-child) {
  600. margin-left: 0.3rem;
  601. }
  602. .empty-list {
  603. text-align: center;
  604. grid-column-start: 1;
  605. grid-column-end: 10;
  606. font-size: 1.1rem;
  607. color: #333;
  608. margin-top: 1rem;
  609. }
  610. main.calendar .dates {
  611. flex-grow: 1;
  612. padding: 0.3rem;
  613. display: grid;
  614. grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  615. grid-template-rows: auto 1fr 1fr 1fr 1fr 1fr 1fr auto;
  616. grid-template-areas:
  617. "sunday-top monday-top wednesday-top tuesday-top thursday-top friday-top saturday-top"
  618. "dates dates dates dates dates dates dates"
  619. "dates dates dates dates dates dates dates"
  620. "dates dates dates dates dates dates dates"
  621. "dates dates dates dates dates dates dates"
  622. "dates dates dates dates dates dates dates"
  623. "dates dates dates dates dates dates dates"
  624. "sunday-bottom monday-bottom wednesday-bottom tuesday-bottom thursday-bottom friday-bottom saturday-bottom";
  625. grid-gap: 0.3rem;
  626. }
  627. main.calendar .dates .weekday {
  628. text-align: center;
  629. font-size: 1.1rem;
  630. font-weight: normal;
  631. }
  632. main.calendar .dates .sunday-top { grid-area: sunday-top; }
  633. main.calendar .dates .monday-top { grid-area: monday-top; }
  634. main.calendar .dates .tuesday-top { grid-area: tuesday-top; }
  635. main.calendar .dates .wednesday-top { grid-area: wednesday-top; }
  636. main.calendar .dates .thursday-top { grid-area: thursday-top; }
  637. main.calendar .dates .friday-top { grid-area: friday-top; }
  638. main.calendar .dates .saturday-top { grid-area: saturday-top; }
  639. main.calendar .dates .sunday-bottom { grid-area: sunday-bottom; }
  640. main.calendar .dates .monday-bottom { grid-area: monday-bottom; }
  641. main.calendar .dates .tuesday-bottom { grid-area: tuesday-bottom; }
  642. main.calendar .dates .wednesday-bottom { grid-area: wednesday-bottom; }
  643. main.calendar .dates .thursday-bottom { grid-area: thursday-bottom; }
  644. main.calendar .dates .friday-bottom { grid-area: friday-bottom; }
  645. main.calendar .dates .saturday-bottom { grid-area: saturday-bottom; }
  646. main.calendar .date {
  647. border: 1px solid #eee;
  648. padding: 0.3rem;
  649. background: white;
  650. display: flex;
  651. flex-direction: column;
  652. position: relative;
  653. }
  654. main.calendar .date.active {
  655. background-color: #f6fff6;
  656. border: 1px solid #afa;
  657. }
  658. main.calendar .date .date-link {
  659. position: absolute;
  660. top: 0; right: 0; bottom: 0; left: 0;
  661. }
  662. main.calendar .date.extra {
  663. background: transparent;
  664. border: none;
  665. }
  666. main.calendar .date ul {
  667. list-style: none;
  668. margin: 0;
  669. padding-left: 0.3rem;
  670. }
  671. main.calendar .date .events {
  672. flex-grow: 1;
  673. }
  674. main.calendar .date.extra .events {
  675. visibility: hidden;
  676. }
  677. main.calendar .events .start-time {
  678. color: #444;
  679. }
  680. main.calendar .events .overflow {
  681. color: #444;
  682. text-align: right;
  683. }
  684. main.calendar .date h4 {
  685. font-weight: normal;
  686. text-align: right;
  687. color: #666;
  688. }
  689. main.calendar .date h4 .da { font-size: 1.2rem; }
  690. main.settings form {
  691. max-width: 600px;
  692. }
  693. main.settings button {
  694. background-color: white;
  695. }
  696. main.settings button:hover {
  697. background-color: #f8f8f8;
  698. }
  699. input[type="submit"],
  700. .button,
  701. button,
  702. .button-link {
  703. margin: 0;
  704. cursor: pointer;
  705. text-decoration: none;
  706. text-align: center;
  707. display: inline-block;
  708. /*padding: 0.4rem 0.4rem 0.35rem;*/
  709. padding: 0.3rem 0.3rem 0.25rem;
  710. min-width: 1rem;
  711. font-size: 12px;
  712. border: 1px solid #ddd;
  713. border-radius: 3px;
  714. vertical-align: middle;
  715. color: #000;
  716. }
  717. .button-link {
  718. border: 1px solid transparent;
  719. text-decoration: none;
  720. }
  721. .button-link:hover {
  722. text-decoration: underline;
  723. }
  724. input[type="submit"],
  725. .button,
  726. button,
  727. .button-link {
  728. background-color: #f5f5f5;
  729. border: 1px solid #ddd;
  730. color: black;
  731. }
  732. .button:hover,
  733. button:hover,
  734. .button-link:hover {
  735. background-color: white;
  736. text-decoration: none;
  737. }
  738. button[disabled], button[disabled]:hover {
  739. color: #555;
  740. background-color: #c5c5c5;
  741. cursor: default;
  742. }
  743. .button:active,
  744. button:active,
  745. .button-link:active {
  746. color: #ccc;
  747. background-color: #f8f8f8;
  748. }
  749. .alert {
  750. padding: 0.5rem;
  751. border: 1px solid transparent;
  752. margin: 1rem 0;
  753. background: #f8d7da;
  754. color: #721c24;
  755. border-color: #f5c6cb;
  756. max-width: 600px;
  757. }