body { font-family: "Twemoji Country Flags", "Helvetica", "Comic Sans", sans-serif; } @media (min-width: 992px) { .modal-lg, .modal-xl { max-width: 900px; } #firstloginwizard_modal_content { overflow-y: visible; } } @media (max-width: 991px) { #firstloginwizard_modal_content { overflow-y: auto; } .h-lg-25 { height: 25% !important; } .h-lg-50 { height: 50% !important; } .h-lg-75 { height: 75% !important; } .h-lg-100 { height: 100% !important; } .h-lg-auto { height: auto !important; } .w-lg-25 { width: 25% !important; } .w-lg-50 { width: 50% !important; } .w-lg-75 { width: 75% !important; } .w-lg-100 { width: 100% !important; } .w-lg-auto { width: auto !important; } } /* ============ HEADER MENU ============ */ /* Adapted from https://bootstrap-menu.com/detail-multilevel.html */ /* ============ desktop view ============ */ @media all and (min-width: 992px) { .navbar-nav-left .dropdown-menu > li > a:hover:after { transform: rotate(-90deg); } .navbar-nav-right .dropdown-menu > li > a:hover:after { transform: rotate(90deg); } .header-dropdown li { position: relative; } .nav-item .submenu { display: none; position: absolute; left: 100%; top: -7px; } .nav-item .submenu-left { right: 100%; left: auto; } .header-dropdown > li:hover > .submenu { display: block; } .dropdown:hover > .header-dropdown { display: block; } .dropdown > .header-dropdown { display: none; } .navbar-nav-left { flex-grow: 1; } .navbar-nav-right { float: right; } .dropdown-menu-right { right: 0 !important; left: auto !important; } } /* ============ desktop view .end// ============ */ /* ============ small devices ============ */ @media (max-width: 991px) { .header-dropdown { margin-left: 0.7rem; margin-right: 0.7rem; margin-bottom: 0.5rem; } .header-dropdown li { position: relative; } .nav-item .submenu { display: none; position: absolute; left: 30%; top: -7px; } } /* ============ small devices .end// ============ */ .modal-header { display: initial; } .dropdown-menu { z-index: 2000 !important; position: absolute !important; } [hidden] { display: none !important; } a { text-decoration: none !important; } .main-nav .container { margin-top: 0px !important; } #nav-container { margin-top: 0; position: sticky; top: 0; } thead > tr > td { position: sticky; top: 45px; } .headerLogo { width: 50px; height: 50px; } .mainLogo { width: 300px; height: 300px; } .navbar { --bs-navbar-padding-y: 0.25rem; } .dashboard { padding-top: none; } .row.logdata { padding-top: 15px; } .statistics { padding-top: 15px; } .statistics_custom { padding-top: 15px; } .notes { padding-top: 15px; } .eqsl { padding-top: 15px; } .publicsearch { padding-top: 15px; max-width: 540px; } .search { padding-top: 15px; } .logbook { padding-top: 15px; } .adif { padding-top: 15px; } .adif .alert p { margin-bottom: 0rem; } .api .alert p { margin-bottom: 0rem; } .qso_panel { padding-top: 25px; } .qso_panel .iota_ref { text-transform: uppercase; } .qso_panel #sota_ref-selectized { text-transform: uppercase; } .qso_panel #wwff_ref-selectized { text-transform: uppercase; } .qso_panel #pota_ref-selectized { text-transform: uppercase; } .qso_panel #darc_dok-selectized { text-transform: uppercase; } .card-body #sota_ref_edit-selectized { text-transform: uppercase; } .card-body #wwff_ref_edit-selectized { text-transform: uppercase; } .card-body #pota_ref_edit-selectized { text-transform: uppercase; } .card-body #darc_dok_edit-selectized { text-transform: uppercase; } #share_modal { display: grid; grid-template-columns: auto; } #oqrssearch:valid { text-transform: uppercase; } .confirmedGrid { border-color: green; } .workedGrid { border-color: yellow; } .newGrid { border-color: red; border-width: 2px; } #country { border: none; } TD.eqsl { width: 33px; white-space: nowrap; } .eqsl-green { color: #00a000 !important; font-size: 1.1em; } .eqsl-red { color: #f00 !important; font-size: 1.1em; } .eqsl-grey { color: #dddddd !important; font-size: 1.1em; } TD.qsl { width: 33px; white-space: nowrap; } .qsl-green { color: #00a000 !important; font-size: 1.1em; } .qsl-red { color: #f00 !important; font-size: 1.1em; } .qsl-yellow { color: #d39e00 !important; font-size: 1.1em; } .qsl-grey { color: #dddddd !important; font-size: 1.1em; } TD.clublog { width: 33px; white-space: nowrap; } .clublog-green { color: #00a000 !important; font-size: 1.1em; } .clublog-yellow { color: #d39e00 !important; font-size: 1.1em; } .clublog-red { color: #f00 !important; font-size: 1.1em; } TD.qrz { width: 33px; white-space: nowrap; } .qrz-green { color: #00a000 !important; font-size: 1.1em; } .qrz-red { color: #f00 !important; font-size: 1.1em; } .qrz-yellow { color: #d39e00 !important; font-size: 1.1em; } .qrz-grey { color: #dddddd !important; font-size: 1.1em; } TD.lotw { width: 33px; white-space: nowrap; } .lotw-green { color: #00a000 !important; font-size: 1.1em; } .lotw-red { color: #f00 !important; font-size: 1.1em; } .lotw-grey { color: #dddddd !important; font-size: 1.1em; } .lotw-yellow { color: #d39e00 !important; font-size: 1.1em; } .qso-edit-box { padding: 10px; } .previous-qsos .card-title { margin-bottom: 0px; } .qso-map .card-title { margin-bottom: 0px; } .qso-map { margin-bottom: 10px; } .callsign-suggest { margin-bottom: 10px; } .callsign-suggest .card-title { margin-bottom: 0px; } #search_box #callsign { text-transform: uppercase; } #nav-bar-search-input { text-transform: uppercase; } #nav-bar-search-input::placeholder { text-transform: none; } .settings { padding-top: 15px; } .settings-nav { margin-bottom: 15px; list-style: none; background-color: #fff; border: 1px solid #d1d5da; border-radius: 3px; } .settings-nav .nav-link { list-style: none; background-color: #fff; border: 1px solid #d1d5da; } .settings-nav .nav-link:hover { background-color: #e1e4e8; } /* QSL Card Management CSS */ .qsl_management { padding-top: 15px; } /* * * */ .qso-map-new .card-header { background: #0f2027; /* fallback for old browsers */ background: -webkit-linear-gradient(to right, #2c5364, #203a43, #0f2027); /* Chrome 10-25, Safari 5.1-6 */ background: linear-gradient(to right, #2c5364, #203a43, #0f2027); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ color: #ffffff; } #myTab .nav-link { padding: 8px !important; } #map { z-index: 1; } #qsomap { z-index: 1; } #create_station_profile .row { margin-bottom: 10px; } /* * Debug CSS */ .card { margin-bottom: 10px; } .modal-backdrop { z-index: 1000 !important; } .was-map-dialog .modal-dialog { width: 100%; } @media (min-width: 576px) { .was-map-dialog .modal-dialog { max-width: 73% !important; } } /* * Timepicker alignment */ .exportdatepicker { padding-right: 0; padding-left: 0; } .modal-body { max-height: calc(100vh - 200px); overflow-y: auto; } /* Station Logbooks Styles */ div#station_logbooks_table_length { padding-top: 12px; padding-left: 12px; padding-bottom: 0px; } div#station_logbooks_table_filter { padding-top: 12px; padding-right: 12px; padding-bottom: 0px; } div#station_logbooks_table_info { padding-left: 12px; } div#station_logbooks_table_paginate { padding-right: 12px; padding-bottom: 12px; } div#station_logbooks_linked_table_length { padding-top: 12px; padding-left: 12px; padding-bottom: 0px; } div#station_logbooks_linked_table_filter { padding-top: 12px; padding-left: 12px; padding-bottom: 0px; } div#station_logbooks_linked_table_info { padding-left: 12px; } div#station_logbooks_linked_table_paginate { padding-right: 12px; padding-bottom: 12px; } /* qrz.com profile picture Styles */ .card-title { margin-bottom: 0px; } .callsign-image { margin-bottom: 10px; } .callsign-image-content { display: block; max-height: 300px; text-align: center; } .callsign-image-pic { max-height: 250px; max-width: 100%; } #mapactivators { height: calc(100vh - 380px) !important; max-height: 900px !important; } .copy-icon { display: block; cursor: pointer; padding-left: 0.5em; } .flash-copy { animation-name: flash; animation-timing-function: ease-out; animation-duration: 1s; } @keyframes flash { 0% { background: #28a745; } 100% { background: transparent; } } .api-url { font-family: Monospace; } .api-key { font-family: Monospace; } .qso_panel .dxccsummary { margin-bottom: 10px; } .qso_panel .dxccsummaryheader { cursor: pointer; } .table-striped tbody > tr.activeRow { background-color: #5cb85c !important; --bs-table-bg: none; } .border-top { --bs-border-color: #dee2e6; } .activeRow a { color: #fff; } .w-qsl { max-height: calc(100vh - 270px); overflow-y: auto; } #lotw_manual_results { padding-top: 10px; } .lotw_info_yellow { background-image: linear-gradient(to bottom, #3fb618, yellow); } .lotw_info_orange { background-image: linear-gradient(to bottom, #3fb618, orange); } .lotw_info_red { background-image: linear-gradient(to bottom, #3fb618, red); } .highcharts-strong { font-weight: bold; } .highcharts-figure, .highcharts-data-table table { min-width: 320px; max-width: 100%; margin: 1em auto; max-height: calc(100vh - 200px) !important; overflow-y: auto; } .highcharts-data-table table { font-family: Verdana, sans-serif; border-collapse: collapse; border: 1px solid #ebebeb; margin: 10px auto; text-align: center; width: 100%; max-width: 500px; } .highcharts-data-table caption { padding: 1em 0; font-size: 1.2em; color: #555; } .highcharts-data-table th { font-weight: 600; padding: 0.5em; } .highcharts-data-table td, .highcharts-data-table th, .highcharts-data-table caption { padding: 0.5em; } .highcharts-data-table thead tr, .highcharts-data-table tr:nth-child(even) { background: #f8f8f8; } .highcharts-data-table tr:hover { background: #f1f7ff; } #radio_cat_state { margin-bottom: 10px; } .previous-qsos table { margin-bottom: 0px; } .lotw-cert-list table { margin-bottom: 0px; } .qso_panel a i.fa.fa-star:hover { color: #ffd700 !important; } #dx, #state, #gridsquare, #sota, #wwff, #pota { text-transform: uppercase; } #dx::placeholder, #state::placeholder, #gridsquare::placeholder, #sota::placeholder, #wwff::placeholder, #pota::placeholder { text-transform: none; } #awardInfoButton { display: flex; align-items: center; } #awardInfoButton h2 { margin-right: 30px; } #simpleFleInfo { display: flex; align-items: center; } #simpleFleInfo h2 { margin-right: 30px; } @media (min-width: 768px) { .sfletable.table { width: 100%; } .sfletable.table thead, .sfletable.table tbody tr { display: block; width: 100%; table-layout: fixed; display: inline-table; } .sfletable.table tbody { width: 95%; overflow-y: scroll; position: absolute; } .simplefle { --bs-card-bg: none; } #sfle_textarea { width: 100%; box-sizing: border-box; } } @media (max-width: 767px) { .sfletable.table { overflow-x: auto; font-size: 0.8em; } #refs_hint { font-size: 0.8em; } } .red { color: var(--red); } .green { color: var(--green); } .blue { color: var(--indigo); } .gray { color: var(--gray); } .orange { color: var(--orange); } .qso_eqsl_qslmsg_update { cursor: pointer; margin-left: 10px; } .icon_selectBox { position: relative; } .icon_selectBox_data { display: none; position: absolute; z-index: 50; left: initial; border: 1px solid var(--bs-border-color); padding: 5px; top: initial; background-color: var(--bs-card-bg); color: var(--bs-body-color); } .icon_selectBox_data label { display: block; margin-bottom: 0px !important; text-align: center; cursor: pointer; } .icon_selectBox_data label:hover { background-color: var(--bs-primary); } .inputError { border: 2px solid rgb(217, 83, 79); } table.dataTable thead th, table.dataTable thead td, table.dataTable tfoot th, table.dataTable tfoot td { text-align: center !important; } .table-responsive .dropdown-menu.notdisplay { padding: 0px !important; border: 0px !important; } #partial_view .table-responsive { overflow-x: unset; } label { margin-bottom: 0.25rem; } .btn-pwd-showhide, .btn-pwd-showhide:hover, .btn-included-on-field, .btn-included-on-field:hover { border: 1px solid var(--cl-border-btn-pwd); cursor: pointer; } .dxccsummaryheader:after { content: "\02795"; /* Unicode character for "plus" sign (+) */ float: right; margin-left: 5px; color: #000000; background-image: linear-gradient( to right, white 0, white 12ch, black 12ch, black 100% ); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent; } .dxccsummaryheaderopened:after { content: "\2796"; /* Unicode character for "minus" sign (-) */ } .coordinates { position: absolute; bottom: 0; left: 0; width: 100%; justify-content: center; align-items: stretch; } .cohidden { display:none; } #latDeg, #lngDeg { width: 170px; } #locator, #distance, #bearing, #ituzonedisplay, #cqzonedisplay{ width: 120px; } .hamsatBgLin { background-color: rgb(224 242 254) !important; --bs-badge-color: rgb(2 132 199) !important; } .hamsatBgData { background-color: rgb(250 232 255) !important; --bs-badge-color: rgb(192 38 211) !important; } .hamsatBgFm { background-color: rgb(254 243 199) !important; --bs-badge-color: rgb(217 119 6) !important; } .spw-buttons { --bs-btn-padding-x: 0.3rem; --bs-btn-padding-y: 0.6rem; display: none; } .quickswitcher.disabled { --bs-dropdown-link-disabled-color: initial !important; } #station_logbooks_table tbody td, #station_locations_table tbody td { text-align: center; vertical-align: middle; } .table .editRow { --bs-table-bg: none !important; --bs-table-accent-bg: none !important; } /* Used in maps */ .legend { padding: 6px 8px; font: 14px Arial, Helvetica, sans-serif; line-height: 24px; color: rgb(255, 255, 255) !important; border-color: #fff; border-width: 1px; border-style: solid; border-radius: 10px; background-color: rgb(52, 55, 56) !important; } .legend h4 { text-align: center; font-size: 16px; margin: 2px 12px 8px; color: rgb(255, 255, 255) !important; } .legend span { position: relative; bottom: 3px; } .legend i { width: 18px; height: 18px; float: left; margin: 0 8px 0 0; } .info.leaflet-control { padding: 6px 8px; font: 14px/16px Arial, Helvetica, sans-serif; box-shadow: 0 0 15px rgba(0,0,0,0.2); border-radius: 5px; background-color: rgb(52, 55, 56) !important; color: rgb(255, 255, 255) !important; border-color: #fff; border-width: 1px; border-style: solid; } .info h4 { margin: 0 0 5px; color: rgb(255, 255, 255) !important; } .leaflet-popup-content-wrapper { background-color: rgb(52, 55, 56) !important; color: rgb(255, 255, 255) !important; border-color: #fff; border-width: 1px; border-style: solid; } .leaflet-popup-close-button { color: rgb(255, 255, 255) !important; } .leaflet-popup-tip { background-color: rgb(52, 55, 56) !important; border-color: #fff; border-width: 1px; border-style: solid; } .satellite-label { background-color: rgb(52, 55, 56) !important; color: rgb(255, 255, 255) !important; border: 1px solid #fff; /* White border */ padding: 5px 8px; border-radius: 5px; } /* Modify the tooltip's arrow (triangle) */ .satellite-label::before { border-top-color: rgb(52, 55, 56) !important; /* Triangle color (matches background) */ border-width: 6px; /* Keep same size */ } /* Create a white border effect around the triangle */ .satellite-label::after { content: ""; position: absolute; border-style: solid; border-width: 8px; /* Slightly larger than ::before */ border-color: white transparent transparent transparent; /* White top border */ bottom: -16px; /* Match ::before position */ left: 50%; transform: translateX(-50%); z-index: -1; } .blank-row { height: 20px !important; } .uppercase { text-transform: uppercase; } .tables-container { display: flex; flex-wrap: wrap; gap: 10px; /* Optional: add some space between tables */ justify-content: center; overflow-x: auto; /* Enable horizontal scrolling if needed */ max-width: 100%; /* Ensure the container doesn't exceed the viewport width */ padding: 10px; /* Optional: add some padding */ box-sizing: border-box; } .table-wrapper { flex: 1 1 400px; /* Adjust the base width of tables */ box-sizing: border-box; } .multiselect-container.dropdown-menu { --bs-dropdown-padding-y: 0; } .btn-group .multiselect-container .multiselect-option input[type="radio"] { display: none; } @media screen and (max-width:991px){ .multiselect-container button.dropdown-item { pointer-events:none; } .multiselect-container span.form-check input { pointer-events: all; } .multiselect-container span.form-check label { pointer-events: none; } .btn-group .multiselect-container .multiselect-option input[type="radio"] { display: block !important; } } /* ============ Glanceyear ============ */ .glanceyear-container { border: 1px solid #D8D8D8; border-radius: 5px; max-width: 683px; } .glanceyear-header { position: relative; background-color: #F5F5F5; border-bottom: 1px solid #D8D8D8; border-radius: 5px 5px 0 0; color: #000; font-size: 15px; font-weight: bold; margin: 0; padding: 7px 10px; } .glanceyear-quantity { position: absolute; right: 10px; top: 10px; color:#aaa; font-size: 10px; } .glanceyear-content { padding: 10px; } .glanceyear-text { color: #aaa; font-size: 12px; font-weight: normal; margin: 0 0; padding: 0; } .glanceyear-summary { color: #aaa; font-size: 12px; margin: 0 10px 10px; } .glanceyear-legend { color: #aaa; float: right; font-size: 12px; text-align: middle; text-wrap: none; } .glanceyear-legend span { display: inline-block; height: 10px; width: 10px; } svg rect.day { fill: #eee; shape-rendering: crispedges; } svg rect.day:hover { stroke: #aaa; stroke-width: 1px; } svg rect.day[data-col] { fill: #3d9692; } svg rect.day[data-col='1'] { fill: #c3dbda; } svg rect.day[data-col='3'] { fill: #5caeaa; } svg rect.day[data-col='6'] { fill: #277672; } svg rect.day[data-col='12'] { fill: #176662; } svg rect.day[data-col='24'] { fill: #075652; } svg rect.day[data-col='48'] { fill: #004642; } svg text { fill: #CCC; font-size: 9px; } svg text.month { fill: #AAA; } .svg-tag { background-color: rgba(0,0,0,0.8); border-radius: 3px; color: #eee; font-size: 12px; line-height: 15px; padding: 5px 15px; position: absolute; text-align: center; } .svg-tag:after { border-color: rgba(0,0,0,0.8) transparent transparent transparent; border-style: solid; border-width: 5px 5px 0 5px; bottom: -5px; content: ""; height: 0; left: 50%; margin-left: -5px; position: absolute; width: 0; } .glanceyear-legend-1 { background-color: #eee; } .glanceyear-legend-2 { background-color: #c3dbda; } .glanceyear-legend-3 { background-color: #5caeaa; } .glanceyear-legend-4 { background-color: #277672; } .leaflet-popup-content { font-family: "Twemoji Country Flags", sans-serif; min-width: 260px; /* Minimum width to ensure readability */ } .big-flag { float: left; font-size: 3em; line-height: 1; white-space: no-wrap; display: flex; align-items: center; /* Vertically aligns the flag and callsign */ gap: 0.5em; /* Adds space between the flag and callsign */ } .htmx-indicator { opacity: 0; animation: blinker 2s linear infinite; } .htmx-request.htmx-indicator { opacity: 1; } @keyframes blinker { 50% { opacity: 0; } } .spacingcell { background-color: transparent !important; border-top-style: none !important; border-bottom-style: none !important; border-right-style: none !important; --dt-row-hover: transparent !important; --dt-row-stripe: transparent !important; }