/* General image grid styles */ .tcb-unsplash-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); grid-gap: 10px; margin-top: 20px; margin-right: 40px; } .tcb-unsplash-grid-item { position: relative; } .tcb-unsplash-grid-item::before { content: ""; /* Necessary for creating the pseudo-element */ position: absolute; /* Position it over the image/container */ top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); /* Semi-transparent overlay */ opacity: 0; /* Hidden by default */ transition: opacity 0.3s ease; /* Smooth transition effect */ z-index: 1; /* Layer above image */ } /* Show overlay on hover over the grid item */ .tcb-unsplash-grid-item:hover::before { opacity: 1; /* Make overlay visible on hover */ } .tcb-unsplash-image { width: 100%; height: 100%; object-fit: cover; display: block; } /* Image container styling */ .tcb-unsplash-image-container { opacity: 0; /* Start as invisible */ transition: opacity 0.5s ease-in-out; /* Smooth fade-in */ display: contents; } /* Header styling */ .tcb-stock-images { height: 60px; background: #f6f7f7; align-items: center; padding-left: 40px; } .tcb-stock-images h2 { margin-left: 10px; color: #000; } .tcb-unsplash-header { display: flex; align-items: center; padding: 0 5px 0 10px; height: 56px; max-width: 120px; border-bottom: 4px solid #2B5E92; } /* Active menu item styling */ #menu-item-unsplash.active { background: #f6f7f7; } /* Photo count styling */ .tcb-unsplash-total-count { padding: 10px 29px; background: #2B5E92; color: #fff; border-radius: 30px; display: flex; align-items: center; justify-content: center; gap: 6px; max-width: 100px; height: 10px; } /* Search button styling */ #tcb-unsplash-search-btn { background-color: #2B5E92; border-top: 1px solid #E2E8EE; border-right: 1px solid #E2E8EE; border-bottom: 1px solid #E2E8EE; border-left: none; padding: 10.5px; border-radius: 0 5px 5px 0; cursor: pointer; display: flex; align-items: center; justify-content: center; } #tcb-unsplash-search-btn svg { fill: #ffffff; width: 32px; height: 15px; } .tcb-unsplash-search { display: flex; align-items: center; } #tcb-unsplash-search-input { height: 38px; border-radius: 5px 0 0 5px; border-top: 1px solid #E2E8EE; border-right: none; border-bottom: 1px solid #E2E8EE; border-left: 1px solid #E2E8EE; width: 160px; } /* Top panel styling */ .tcb-unsplash-top { display: flex; justify-content: space-between; align-items: center; padding-right: 40px; } /* Filter styling */ .tcb-unsplash-filters { display: flex; margin-top: 20px; justify-content: space-between; padding-right: 40px; font-size: 14px; } #tcb-unsplash-category-dropdown { display: flex; gap: 10px; align-items: center; max-width: 190px; border: 1px solid #E2E8EE; } .tcb-unsplash-category { display: flex; gap: 4px; align-items: center; } #tcb-unsplash-category-dropdown:hover { border: 1px solid #2B5E92; } .tcb-unsplash-dropdown-container { display: flex; gap: 10px; align-items: center; } .tcb-unsplash-dropdown-container label { color: #77848F; } .tcb-unsplash-filters select { padding: 0; border-color: #E2E8EE; } /* Button and author block visibility */ .tcb-stock-image-buttons, .tcb-unsplash-stock-author { opacity: 0; z-index: 3; } .tcb-unsplash-gear-button { z-index: 3; } .tcb-unsplash-outbound-link { z-index: 3; } .tcb-unsplash-download-button { z-index: 3; } .tcb-unsplash-grid-item:hover .tcb-stock-image-buttons, .tcb-unsplash-grid-item:hover .tcb-unsplash-stock-author { opacity: 1; } /* Download and gear button positions */ .tcb-unsplash-download-button, .tcb-unsplash-gear-button { display: flex; /* Use flexbox for alignment */ align-items: center; /* Vertically center content */ justify-content: center; position: absolute; border: none; cursor: pointer; transition: background 0.3s; } .tcb-unsplash-download-button { padding: 10px; background: #2B5E92; bottom: 10px; right: 10px; border-radius: 10%; } .tcb-unsplash-gear-button, .tcb-unsplash-outbound-link { padding: 5px; background: #fff; border-radius: 50%; } .tcb-unsplash-gear-button { top: 10px; right: 10px; } /* Add styles for the outbound link button */ .tcb-unsplash-outbound-link { position: absolute; top: 10px; right: 40px; /* Adjust this to place it next to the gear button */ border: none; cursor: pointer; transition: background 0.3s; } .tcb-unsplash-download-button svg { width: 24px; height: 24px; } .tcb-unsplash-gear-button svg, .tcb-unsplash-outbound-link svg { width: 14px; height: 14px; display: block; } /* Author block styling */ .tcb-unsplash-stock-author { position: absolute; bottom: 10px; left: 10px; display: flex; align-items: center; gap: 8px; padding: 5px; border-radius: 5px; } .tcb-author-image { border-radius: 50%; width: 32px; height: 32px; } .tcb-unsplash-stock-author a { color: #ffffff; text-decoration: none; } .tcb-unsplash-stock-author a:hover, .tcb-unsplash-stock-author a:focus, .tcb-unsplash-stock-author a:visited { text-decoration: underline; color: #fff; } /* Modal styling */ .tcb-unsplash-grid .close-button:hover, .tcb-unsplash-grid .close-button:focus { color: #000; text-decoration: none; cursor: pointer; } /* Loader styles */ #tcb-unsplash-loader img { margin-top: 50px; width: 20px; height: 20px; } /* Dropdown styling */ #tcb-unsplash-order-dropdown:hover, #tcb-unsplash-ordination-dropdown:hover { border: 1px solid #2B5E92; } #tcb-unsplash-order-dropdown, #tcb-unsplash-ordination-dropdown { min-width: 120px; } #tcb-unsplash-order, .tcb-unsplash-ordination { display: flex; align-items: center; gap: 4px; } /* Form Styles */ .unsplash-gear-popup { position: absolute; background: rgba(255, 255, 255, 1); border: 1px solid #ccc; border-radius: 4px; box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); z-index: 1000; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 10px; box-sizing: border-box; overflow-y: auto; overflow-x: hidden; } .tcb-stock-library-form { display: flex; flex-direction: column; align-items: center; width: 100%; max-height: 100%; color: #000; } .tcb-stock-library-form label { font-size: 15px; line-height: 1; width: 100%; margin-bottom: 4px; /* Ensure labels have spacing */ } .tcb-stock-library-form input[type="text"], .tcb-stock-library-form textarea { font-size: 14px; width: 100%; /* Ensure all inputs take full width of the parent */ padding: 5px; margin-bottom: 10px; /* Ensure uniformity in spacing */ box-sizing: border-box; color: #77848F; } .tcb-stock-library-form textarea { height: 60px; } .tcb-unsplash-grid button.upload, .tcb-unsplash-grid button.cancel { font-size: 12px; padding: 5px 17px; cursor: pointer; border-radius: 4px; border: 1px solid #2B5E92; } .tcb-unsplash-grid button.upload { background-color: #2B5E92; color: #fff; } .tcb-unsplash-grid button.cancel { background-color: #F6F7F7; color: #2B5E92; } .tcb-unsplash-grid .button-container { display: flex; justify-content: space-between; /* Align buttons to the left and right */ width: 100%; padding-bottom: 10px; } .tcb-stock-library-form-field { width: 100%; } #tcb-unsplash-clear-search-btn { background: none; border: none; position: absolute; margin-left: 140px; cursor: pointer; font-size: 16px; } input#tcb-unsplash-search-input:focus { box-shadow: inset 0 0 0 1px #2B5E92; } /* Loader container */ #tcb-unsplash-loading-container { pointer-events: none; /* Allow clicks to pass through */ position: absolute; /* Position the loading container absolutely */ top: 0; /* Align it to the top */ left: 0; /* Align it to the left */ width: 100%; /* Cover the full width of the parent */ height: 100%; /* Cover the full height of the parent */ z-index: 9999; /* Ensure it's on top visually */ display: flex; /* Use flexbox for alignment */ justify-content: center; /* Center horizontally */ align-items: center; /* Center vertically */ } .tcb-unsplash-grid .loading-background { width: 74px; /* Fixed width */ height: 74px; /* Fixed height */ background-color: white; /* Background color */ display: flex; /* Flexbox for centering */ justify-content: center; /* Center contents horizontally */ align-items: center; /* Center contents vertically */ border-radius: 3px; /* Optional: rounded corners */ box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); /* Optional: shadow for depth */ display: none; border-radius: 15px; } .tcb-unsplash-grid .loading-background svg { display: flex; justify-content: center; align-items: center; } .tcb-unsplash-grid .spin-svg { animation: spin 2s linear infinite; /* Spinning */ z-index: 9999; /* Ensure it's on top visually */ } /* Ordination container */ #tcb-unsplash-ordination { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; z-index: 10; display: none; /* Initially hidden */ }