/* Flip Container */ .flip-container { perspective: 1000px; } /* Modal Overlay */ .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; /* Ensure the overlay covers the full viewport height */ display: flex; justify-content: center; align-items: center; /* Centers the modal vertically */ background-color: rgba(0, 0, 0, 0.5); z-index: 1000; } .modal-overlay.enabled { background-color: rgba(0, 0, 0, 0.1); } /* Scoped box-sizing, margin, and padding for all elements within .modal-overlay */ .modal-overlay * { box-sizing: border-box; margin: 0; padding: 0; } .flipper { position: relative; width: 100%; max-width: 400px; height: 100%; transition: transform 0.6s; transform-style: preserve-3d; } /* Modal Container */ .modal { top: -30%; width: 90%; max-width: 400px; border-radius: 12px; text-align: center; position: relative; font-family: Arial, sans-serif; } .modal.greyed-out { pointer-events: none; } /* Front and Back Panels */ .modal-front, .modal-back, .grey-out-overlay { position: absolute; width: 100%; backface-visibility: hidden; border-radius: 12px; background-color: white; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); padding: 20px; } .modal-front { z-index: 2; } .modal-back { transform: rotateY(180deg); } /* Flip to Back Side */ .flip-container.flip .flipper { transform: rotateY(180deg); } .grey-out-overlay { display: none; top: 0; left: 0; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 9999; pointer-events: none; align-items: center; justify-content: center; } /* Spinner styling */ .spinner { border: 6px solid #f3f3f3; border-top: 6px solid #3498db; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Profile Button */ .profile-btn { position: absolute; top: 10px; left: 10px; background: none; border: none; cursor: pointer; } /* Close Button (X) */ .close-btn { position: absolute; top: 10px; right: 10px; background: none; border: none; font-size: 1.5em; color: #666; cursor: pointer; transition: color 0.3s ease; } .close-btn:hover, .widget-close-btn:hover { color: #333; } /* Icon Section with Circular Border */ .modal-icon { display: flex; justify-content: center; align-items: center; margin-bottom: 15px; } .modal-icon img { width: 80px; height: 80px; border-radius: 50%; border: 1px solid #ddd; background: url('https://widget.parasolbrowsing.com/parasol-black-white.png') no-repeat center center/cover; } /* Text Section */ .modal-text { margin-bottom: 20px; } .modal-text p { color: #333; font-size: 1em; } /* Call to Action Section */ .modal-actions { display: flex; gap: 10px; margin-bottom: 15px; } .btn { flex: 1; padding: 10px; border: none; border-radius: 6px; font-size: 1em; cursor: pointer; transition: background-color 0.3s ease; } .btn a { text-decoration: none; } .cancel-btn { background-color: #f0f0f0; color: #333; } .proceed-btn { background-color: #007bff; color: white; } .neutral-btn { background-color: white; border: 1px solid #ddd; color: black; } .google-logo { width: 22px; margin-right: 12px; } .cancel-btn:hover { background-color: #d9d9d9; } .proceed-btn:hover { background-color: #0056b3; } .neutral-btn:hover { background-color: #f0f0f0; } .card-element { background: #ecf0f1; padding: 12px; margin: 15px 0; border-radius: 8px; border: 1px solid #bdc3c7; } /* Footer Section */ .modal-footer { display: flex; align-items: center; justify-content: center; } .modal-footer p { font-size: 0.75em; color: #666; margin-top: 10px; } .leaf-icon { fill: rgba(76, 175, 80, 0.5); width: .85em; height: .85em; margin-left: 5px; margin-top: 5px; display: flex; align-items: center; } table.visits_table { width: 100%; border-collapse: collapse; /* Ensures borders don't double up */ } .visits_table th, .visits_table td { border: 1px solid #333; /* Border around each cell */ padding: 8px; /* Padding inside cells */ text-align: left; /* Align text to the left */ } /* Style for header row */ .visits_table th { background-color: #f2f2f2; /* Light gray background for headers */ } /* Responsive Design */ @media (max-width: 480px) { .modal { width: 85%; } } #privacy-widget { position: fixed; top: 20px; right: 20px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; transition: width 0.5s ease, border-radius 0.5s ease; cursor: pointer; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); z-index: 1000; color: #33AACC; background-color: white; } #privacy-widget.collapsed { animation: pulse 3s infinite; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } } #privacy-widget.expanded { width: 190px; border-radius: 30px; transition: width 0.5s ease, border-radius 0.5s ease; display: flex; align-items: center; } #privacy-circle { display: flex; align-items: center; height: 40px; transition: margin-left 0.5s ease; } #privacy-widget.expanded #privacy-circle { margin-left: -30px; } .parasol-icon:before { content: "\2602"; font-size: 30px; } #privacy-expanded-content { display: flex; flex-direction: column; justify-content: center; height: 100%; white-space: nowrap; opacity: 0; max-width: 0; transition: opacity 0.5s ease, max-width 0.5s ease; } #privacy-widget.expanded #privacy-expanded-content { opacity: 1; max-width: 150px; } #remaining-pageviews-text { margin: 0 5px; font-size: .9em; color: #666; font-family: Arial, sans-serif; } .widget-close-btn { display: none; position: absolute; top: 0px; right: 10px; font-size: 18px; color: #666; cursor: pointer; } #privacy-widget.expanded .widget-close-btn { display: block; }