Wedding Invitation
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. /* resources/css/app.css */
  2. @import "../../node_modules/@fortawesome/fontawesome-free/css/all.min.css";
  3. /* Other CSS rules */
  4. @tailwind base;
  5. @tailwind components;
  6. @tailwind utilities;
  7. @font-face {
  8. font-family: 'Tan Pearl';
  9. src: url('tanPearl.woff2') format('woff2');
  10. font-weight: normal;
  11. font-style: normal;
  12. }
  13. @media (prefers-color-scheme: dark) {
  14. html,
  15. body {
  16. background-color: #ffffff;
  17. color: #000000;
  18. }
  19. /* Override any other dark mode specific styles */
  20. .dark\:bg-gray-900 {
  21. background-color: #ffffff !important;
  22. }
  23. .dark\:text-white {
  24. color: #000000 !important;
  25. }
  26. }
  27. /* Remove outline on focus for all elements */
  28. *:focus {
  29. outline: none;
  30. }
  31. html {
  32. scroll-behavior: smooth;
  33. }
  34. body.no-scroll {
  35. overflow: hidden;
  36. }
  37. .fade-element {
  38. opacity: 0;
  39. transform: translateY(20px);
  40. transition: opacity 3s ease-in-out, transform 3s ease-in-out;
  41. }
  42. .fade-in {
  43. opacity: 1;
  44. }
  45. .petal-overlay {
  46. position: fixed;
  47. /* Fixes the position to the viewport */
  48. top: 0;
  49. left: 0;
  50. width: 100vw;
  51. height: 100vh;
  52. pointer-events: none;
  53. /* Allows interactions through the overlay */
  54. z-index: 1;
  55. /* Ensures it is on top of other elements */
  56. opacity: 0.3;
  57. }
  58. .petal-overlay img {
  59. width: 100%;
  60. height: 100%;
  61. object-fit: cover;
  62. /* Ensures the image covers the entire container */
  63. }
  64. .loader {
  65. position: relative;
  66. display: flex;
  67. align-items: center;
  68. justify-content: center;
  69. width: 100%;
  70. max-width: 6rem;
  71. margin-top: 3rem;
  72. margin-bottom: 3rem;
  73. }
  74. .loader:before,
  75. .loader:after {
  76. content: "";
  77. position: absolute;
  78. border-radius: 50%;
  79. animation: pulsOut 1.8s ease-in-out infinite;
  80. filter: drop-shadow(0 0 1rem rgba(255, 255, 255, 0.75));
  81. }
  82. .loader:before {
  83. width: 100%;
  84. padding-bottom: 100%;
  85. box-shadow: inset 0 0 0 1rem #fff;
  86. animation-name: pulsIn;
  87. }
  88. .loader:after {
  89. width: calc(100% - 2rem);
  90. padding-bottom: calc(100% - 2rem);
  91. box-shadow: 0 0 0 0 #fff;
  92. }
  93. .part {
  94. transition: all 0.1s ease-in-out;
  95. }
  96. @keyframes pulsIn {
  97. 0% {
  98. box-shadow: inset 0 0 0 1rem #fff;
  99. opacity: 1;
  100. }
  101. 50%,
  102. 100% {
  103. box-shadow: inset 0 0 0 0 #fff;
  104. opacity: 0;
  105. }
  106. }
  107. @keyframes pulsOut {
  108. 0%,
  109. 50% {
  110. box-shadow: 0 0 0 0 #fff;
  111. opacity: 0;
  112. }
  113. 100% {
  114. box-shadow: 0 0 0 1rem #fff;
  115. opacity: 1;
  116. }
  117. }
  118. @keyframes to-left {
  119. from {
  120. transform: translateX(0)
  121. }
  122. to {
  123. transform: translateX(-100%)
  124. }
  125. }
  126. @keyframes to-right {
  127. from {
  128. transform: translateX(0)
  129. }
  130. to {
  131. transform: translateX(100%)
  132. }
  133. }
  134. .to-left-animation{
  135. animation: to-left 2s forwards;
  136. }
  137. .to-right-animation{
  138. animation: to-right 2s forwards;
  139. }