DuckDuckGo - Wider, Prettier and Customizable

Customizable UserCSS for DuckDuckGo

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

/* ==UserStyle==
@name           DuckDuckGo - Wider, Prettier and Customizable
@description    Customizable UserCSS for DuckDuckGo
@author         krisu (https://github.com/krisu5)
@namespace      github.com/krisu5/userstyles
@homepageURL    https://github.com/krisu5/userstyles/tree/master/DuckDuckGo%20-%20Wider%20Prettier%20and%20Customizable
@supportURL     https://github.com/krisu5/userstyles/issues
@version        1.0.9
@license        unlicense
@preprocessor   stylus
@var checkbox   ibm-plex-font      "Use 'IBM Plex Sans' font (needs installation)"              0
@var checkbox   wideScreen         "Wider layout (for 1920px+ wide resolution)"                 1
@var checkbox   biggerFont         "Bigger font (recommended when 'Wider layout' is enabled)"   1
@var checkbox   hideCheckmark      "Force hide visited link checkmark"                          0
@var checkbox   sidebarAnimation   "Delay showing sidebar in the pageload"                      1
@var checkbox   hideFeedback       "Hide feedback & promo related links"                        0
==/UserStyle== */

@-moz-document domain("duckduckgo.com") {

/* ==============================================================
   === [TOGGLE] Use "IBM Plex Sans" font (needs installation) ===
   ============================================================== */
    
if ibm-plex-font {
    /*
    ###################
    ## INSTALL FONTS ##
    ###################
    
    - Get the fonts:
      https://github.com/IBM/plex/releases/latest
      (TrueType recommended for Windows, for others use OpenType)
       
    - Go to "IBM-Plex-Sans" folder and install AT LEAST these fonts:
         - Bold
         - BoldItalic
         - Italic
         - Medium
         - MediumItalic
         - Regular
         - SemiBold
         - SemiBoldItalic
    */
    
    :root {
        --ibm-fontstack-1: "IBM Plex Sans", "DDG_ProximaNova", "DDG_ProximaNova_UI_0", "DDG_ProximaNova_UI_1", "DDG_ProximaNova_UI_2", "DDG_ProximaNova_UI_3", "DDG_ProximaNova_UI_4", "DDG_ProximaNova_UI_5", "DDG_ProximaNova_UI_6", "Proxima Nova", system, -apple-system, ".SFNSText-Regular", "San Francisco", "Segoe UI", "Roboto", "Helvetica Neue", "Lucida Grande", sans-serif;
        
        --ibm-fontstack-2: "DDG_ProximaNova", "DDG_ProximaNova_UI_0", "DDG_ProximaNova_UI_1", "DDG_ProximaNova_UI_2", "DDG_ProximaNova_UI_3", "DDG_ProximaNova_UI_4", "DDG_ProximaNova_UI_5", "DDG_ProximaNova_UI_6", "Proxima Nova", system, -apple-system, ".SFNSText-Regular", "San Francisco", "Segoe UI", "Roboto", "Helvetica Neue", "Lucida Grande", sans-serif;
        
        --ibm-fontstack-3: system, -apple-system, ".SFNSText-Regular", "San Francisco", "Segoe UI", "Roboto", "Helvetica Neue", "Lucida Grande", sans-serif;
    }
    
    body, *:not(.play_pause) a               { font-family: var(--ibm-fontstack-1); }
    
    input, textarea                          { font-family: var(--ibm-fontstack-1) !important; }

    #zero_click_wrapper *:not(option):not(a) { font-family: var(--ibm-fontstack-2); }
        
    #zero_click_wrapper option               { font-family: var(--ibm-fontstack-3); }
    
    .zci--timer .corner_btn.add_minute { line-height: 1.5em; }
        
    .zci--timer .corner_btn.close {
        top: -5px !important;
        right: 5px !important;
    }
    
    :is(#links, [data-testid="result"]) :where(h2, h3) {
        padding-bottom: 2px;
        font-weight: 500 !important;
    }
    
    [data-testid="result-title-a"] {
        font-weight: 500 !important;
    }
        
    .about-profiles__link { font-size: 0.8em; }
        
    .about-profiles__item { padding-top: 13px; }
}


/* ===========================================================
   === [TOGGLE] Wider layout (for 1920px+ wide resolution) ===
   =========================================================== */

if wideScreen {
    @media (min-width: 1460px) {
        .cw { max-width: 1700px; }

        .header__search-wrap, .zcm-wrap--header { max-width: 905px; }

        .header__search-wrap, .content__internal { padding-right: 0; }

        .modal--dropdown--settings.is-showing { margin-left: -108px; }

        .results--main, [data-testid="mainline"] {
            max-width: 900px !important;
            margin-right: 50px;
        }
        
        [data-testid="mainline"] {
          -webkit-flex: 0 0 900px !important;
          flex: 0 0 900px !important;
        }
        
        .result__sitelink-col { width: 415px !important; }

        .result--more {
            width: 920px;
            margin-left: -10px;
        }

        .module--carousel__item:not(:last-child) { margin-right: 1.6%; }
            
        .module--places { max-width: inherit; }
            
        .sitelink {
            width: 265px;
            padding-left: 35px;
        }
            
        .sitelink:nth-child(2n-1) { padding-right: inherit; }
            
        .is-link-style-exp:not(.is-mobile):not(.is-mobile-device) #links .results_links_deep { max-width: unset !important; }
    }
}


/* =========================================================================
   === [TOGGLE] Bigger font (recommended when "Wider layout" is enabled) ===
   ========================================================================= */
    
if biggerFont {
    html { font-size: 99%; }
    
    #zci-color_picker { font-size: 14px; }
        
    .module__link--two-line { font-size: 1.6em; }
        
    .zci--stopwatch .goodie-pane { width: 39.5%; }
        
    if ibm-plex-font {
        .result__sitelink-title {
            font-size: 1.12em;
            letter-spacing: 0.01em;
        }
    }
}


/* ==================================================
   === [TOGGLE] Force hide visited link checkmark ===
   ================================================== */

if hideCheckmark {
    .result__check { display: none; }
}

    
/* ======================================================
   === [TOGGLE] Delay showing sidebar in the pageload ===
   ====================================================== */

if sidebarAnimation {
    .results--sidebar {
        animation: showSidebar 0.65s ease-in-out 0.65s forwards;
        /* animation time = approximated load time for search results links */
        opacity: 0;
    }

    @keyframes showSidebar { to { opacity: 1; } }
}


/* ====================================================
   === [TOGGLE] Hide feedback & promo related links ===
   ==================================================== */

if hideFeedback {
    .feedback-btn, [class^="feedback-prompt"], .header--text_promo, [data-layout="spreadCTA"] { display: none; }
}


/* ===============
   === Results ===
   =============== */

:is(#links, .react-results--main) article:hover {
    background: hsl(0, 0%, 98%);
    border-color: var(--theme-col-border-ui);
}

:is(#links, .react-results--main) h3:hover { text-decoration: underline; }

#links img[src^="//external-content.duckduckgo.com"],
.react-results--main [src^="/assets/icons/favicons/"] { margin-top: -4px; }

.result__a, [data-testid="result-title-a"] { line-height: 1.3; }


/* =========================
   === Results seperator ===
   ========================= */

.result__pagenum, [arial-label^="Page "] span {
    font-size: 15px !important;
    margin-top: -4px;
    min-width: unset !important;
}

.result__pagenum--side {
    padding: 5px 10px;
    background-color: #fafafa;
    border-radius: 50%;
    border: 1px solid #d9d9d9;
}

[arial-label^="Page "] span {
    padding: 5px 12px;
    background-color: #fafafa !important;
    border-radius: 50%;
    border: 1px solid #d9d9d9 !important;
}

.result--sep { margin: 1em auto 1.25em; }

.result--sep--hr::before, [arial-label^="Page "] hr {
    background-color: #d9d9d9 !important;
    border-top: 1px solid #d9d9d9 !important;
}


/* ==============================
   === Instant Answer modules ===
   ============================== */

.zci--calculator .tile__calc .tile__past-calc { height: 60px; }

.zci--timer .name { margin-top: 27px; }

.zci--timer .time_display { margin-top: -20px; }

.zci--timer .corner_btn.reset { top: 5px; }

.zci--timer .corner_btn.close { top: -3px; }

.zci--timer .play_pause a {
    left: calc(50% + 2px);
    top: calc(50% + 2px);
}

.tile__ctrl__btn {
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

.zci--stopwatch .goodie-pane *, .zci--stopwatch #split_list * { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace !important; }

.zci--stopwatch .goodie-pane { width: 38.5% !important; }

.zci--stopwatch .time {
    font-size: 32px !important;
    font-variant-numeric: tabular-nums;
}

.zci--stopwatch #split_list .lap-num { font-weight: bold !important; }


/* =========================
   === Userscript Tweaks ===
   ========================= */
   
/* -------------------------------
   Try Google on Duck Duck Go - WF
   ------------------------------- */

/*
   This userscript adds button that allows quick Google search with same search query.
   
   These tweaks restyle the button and adds better spacing.
   
   INSTALLATION PAGE:
   https://greasyfork.org/en/scripts/389801-try-google-on-duck-duck-go-wf
*/

.header__search a[style*="background: #4285F4;"][href^="https://www.google.com/search?"] {
    padding: 3px 8px !important;
    margin: 4px 11px 0 0;
    border-radius: 3px;
}

.header__search a[style*="background: #4285F4;"][href^="https://www.google.com/search?"]:hover {
    background: #0e61ea !important;
    text-decoration: none !important;
}


/* =============
   === Misc. ===
   ============= */

.zcm__sep--h:before { top: 0.2em; }
    
.zcm__sep--h+.zcm__item { padding-left: 0.85em; }
    
.dropdown__switch { margin-top: 10.5px; }

.dropdown__button::after { margin-top: -5px; }

.about-profiles, .module__link--two-line { padding-bottom: 5px; }
    
}