 db5d631b0d
			
		
	
	
		db5d631b0d
		
	
	
	
	
		
			
			* Created a newsletters table and added insertion logic during newsletter send. * Added a /newsletters route to display a list of sent newsletters. * Implemented a /newsletter/<int:newsletter_id> route for detailed view. * Developed new templates with navigation, including unsubscribe links. * Enhanced front-end styling and layout for newsletter pages.
		
			
				
	
	
		
			307 lines
		
	
	
		
			No EOL
		
	
	
		
			4.6 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			307 lines
		
	
	
		
			No EOL
		
	
	
		
			4.6 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
| html {
 | |
|   box-sizing: border-box;
 | |
| }
 | |
| *,
 | |
| *:before,
 | |
| *:after {
 | |
|   box-sizing: inherit;
 | |
| }
 | |
| 
 | |
| body {
 | |
|   font-family: Arial, sans-serif;
 | |
|   margin: 0;
 | |
|   padding: 0;
 | |
| }
 | |
| 
 | |
| header {
 | |
|   background-color: #fff;
 | |
|   padding: 10px 20px;
 | |
|   text-align: center;
 | |
|   font-size: 24px;
 | |
|   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | |
|   margin: 5px auto;
 | |
| }
 | |
| 
 | |
| header nav {
 | |
|   display: flex;
 | |
|   justify-content: normal;
 | |
|   align-items: center;
 | |
| }
 | |
| 
 | |
| header nav a {
 | |
|   text-decoration: none;
 | |
|   color: #000;
 | |
|   margin-left: 20px;
 | |
|   font-size: 22px;
 | |
| }
 | |
| 
 | |
| .hero-section-1 {
 | |
|   width: 100%;
 | |
|   margin: 0;
 | |
|   padding: 0;
 | |
|   overflow: hidden;  /* Hide any overflow if the image is larger */
 | |
| }
 | |
| 
 | |
| .hero-content, .hero-text {
 | |
|   width: 100%;
 | |
|   height: 100%;
 | |
|   margin: 0;
 | |
|   padding: 0;
 | |
| }
 | |
| 
 | |
| .hero-text img {
 | |
|   width: 70%;      /* The image will take up 50% of its container's width */
 | |
|   height: auto;    /* Maintain aspect ratio */
 | |
|   display: block;  /* Remove inline spacing if needed */
 | |
|   margin: 0 auto;  /* Center the image within its container if desired */
 | |
| }
 | |
| 
 | |
| .hero-text h1 {
 | |
|   font-size: 48px;
 | |
|   font-weight: bold;
 | |
|   color: #000;
 | |
|   text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | |
| }
 | |
| 
 | |
| .hero-text p {
 | |
|   font-size: 18px;
 | |
|   color: #000;
 | |
|   text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | |
| }
 | |
| 
 | |
| .hero-section-2 {
 | |
|   background-color: #337cf2;
 | |
|   padding: 100px 0;
 | |
|   text-align: center;
 | |
|   width: 100%;
 | |
|   margin: 0;
 | |
| }
 | |
| 
 | |
| .hero-section-2 .inner-container {
 | |
|   padding: 0 20px;
 | |
| }
 | |
| 
 | |
| .hero-sec2-header {
 | |
|   padding-top: 2.5%;
 | |
|   font-size: 40px;
 | |
| }
 | |
| 
 | |
| .hero-section-2 form {
 | |
|   padding: 10px;
 | |
|   font-size: 1rem;
 | |
|   width: calc(100% - 50px);
 | |
|   max-width: 600px;
 | |
|   margin: 0 auto;
 | |
| }
 | |
| 
 | |
| .hero-section-2 input {
 | |
|   padding: 10px;
 | |
|   width: 15%;
 | |
|   border: 1px solid #ccc;
 | |
|   border-radius: 10px;
 | |
|   box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
 | |
| }
 | |
| 
 | |
| .hero-section-2 button {
 | |
|   padding: 10px 20px;
 | |
|   border: none;
 | |
|   border-radius: 5px;
 | |
|   cursor: pointer;
 | |
| }
 | |
| 
 | |
| .hero-section-3 {
 | |
|   width: 100%;
 | |
| }
 | |
| 
 | |
| .hero-section-3 h2 {
 | |
|   margin-top: 0;
 | |
|   text-align: center;
 | |
| }
 | |
| 
 | |
| .feature-cards {
 | |
|   display: flex;
 | |
|   flex-wrap: wrap;
 | |
|   justify-content: center;
 | |
| }
 | |
| 
 | |
| .feature-card {
 | |
|   background-color: #fff;
 | |
|   padding: 20px;
 | |
|   border: 1px solid #ddd;
 | |
|   border-radius: 10px;
 | |
|   box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
 | |
|   margin: 20px;
 | |
|   width: 30%;
 | |
|   display: flex;
 | |
|   flex-direction: column;
 | |
|   align-items: center;
 | |
|   justify-content: center;
 | |
|   word-wrap: break-word;
 | |
|   overflow-wrap: break-word;
 | |
| }
 | |
| 
 | |
| .feature-card h3 {
 | |
|   margin-top: 0;
 | |
|   text-align: center;
 | |
|   font-size: 18px;
 | |
|   font-weight: bold;
 | |
|   margin-bottom: 10px;
 | |
| }
 | |
| 
 | |
| .feature-card ul {
 | |
|   list-style: none;
 | |
|   padding: 0;
 | |
|   margin: 0;
 | |
|   text-align: center;
 | |
| }
 | |
| 
 | |
| .feature-card li {
 | |
|   margin-bottom: 10px;
 | |
|   font-size: 16px;
 | |
|   color: #666;
 | |
| }
 | |
| 
 | |
| .feature-card li::before {
 | |
|   content: "\2022";
 | |
|   font-size: 16px;
 | |
|   color: #337cf2;
 | |
|   margin-right: 10px;
 | |
| }
 | |
| 
 | |
| main {
 | |
|   width: 100%;
 | |
|   margin: 0;
 | |
|   padding: 0;
 | |
|   display: block;
 | |
| }
 | |
| 
 | |
| main .inner-container {
 | |
|   padding: 10px 20px;
 | |
| }
 | |
| 
 | |
| .normal-footer {
 | |
|   background-color: #337cf2;
 | |
|   color: #fff;
 | |
|   padding: 10px;
 | |
|   text-align: center;
 | |
|   clear: both;
 | |
|   margin-top: auto;
 | |
| }
 | |
| 
 | |
| .fixed-footer {
 | |
|     position: fixed;
 | |
|     bottom: 0;
 | |
|     left: 0;
 | |
|     width: 100%;
 | |
|     background-color: #337cf2;
 | |
|     color: #fff;
 | |
|     padding: 10px;
 | |
|     text-align: center;
 | |
|     z-index: 1000;
 | |
|   }
 | |
| 
 | |
| img {
 | |
|   max-width: 100%;
 | |
|   height: auto;
 | |
| }
 | |
| 
 | |
| @media (max-width: 768px) {
 | |
|   .hero-content {
 | |
|     flex-direction: column;
 | |
|     padding: 0;
 | |
|   }
 | |
| 
 | |
|   .hero-text {
 | |
|     width: 100%;
 | |
|     padding: 10px;
 | |
|   }
 | |
| 
 | |
|   .hero-illustration {
 | |
|     width: 100%;
 | |
|     height: auto;
 | |
|   }
 | |
| 
 | |
|   .hero-section-2 input {
 | |
|     width: 80%;
 | |
|   }
 | |
| 
 | |
|   .feature-card {
 | |
|     width: 90%;
 | |
|   }
 | |
| 
 | |
|   .hero-text h1 {
 | |
|     font-size: 2.5em;
 | |
|   }
 | |
| 
 | |
|   .hero-section-2 {
 | |
|     padding: 50px 0;
 | |
|   }
 | |
| 
 | |
|   .hero-sec2-header {
 | |
|     font-size: 32px;
 | |
|   }
 | |
| 
 | |
|   .hero-section-2 form {
 | |
|     width: calc(100% - 40px);
 | |
|     padding: 10px;
 | |
|   }
 | |
| }
 | |
| 
 | |
| @media (max-width: 480px) {
 | |
|   .hero-text h1 {
 | |
|     font-size: 2em;
 | |
|   }
 | |
| 
 | |
|   .hero-section-2 input {
 | |
|     width: 90%;
 | |
|   }
 | |
| 
 | |
|   .feature-card {
 | |
|     width: 100%;
 | |
|     margin: 10px 0;
 | |
|   }
 | |
| 
 | |
|   .hero-section-1 {
 | |
|     padding: 50px 0;
 | |
|   }
 | |
| }
 | |
| 
 | |
| .newsletter { 
 | |
|   margin-bottom: 40px; 
 | |
|   border-bottom: 1px solid #ddd; 
 | |
|   padding-bottom: 20px; 
 | |
| }
 | |
| 
 | |
| .newsletter h2 { 
 | |
|   color: #007bff; 
 | |
| }
 | |
| 
 | |
| .newsletter-time {
 | |
|    color: #666; 
 | |
|    font-size: 0.9em; 
 | |
|   }
 | |
| 
 | |
|   .newsletter-detail {
 | |
|     max-width: 800px;
 | |
|     margin: 20px auto;
 | |
|     padding: 20px;
 | |
|     border: 1px solid #ddd;
 | |
|     border-radius: 8px;
 | |
|     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | |
|   }
 | |
|   .newsletter-detail h1 {
 | |
|     color: #007bff;
 | |
|   }
 | |
|   .newsletter-time {
 | |
|     color: #666;
 | |
|     font-size: 0.9em;
 | |
|   }
 | |
|   .back-link {
 | |
|     margin-top: 20px;
 | |
|     display: inline-block;
 | |
|     color: #007bff;
 | |
|     text-decoration: none;
 | |
|   }
 | |
|   .back-link:hover {
 | |
|     text-decoration: underline;
 | |
|   } |