From b82772dfaef36a5bb48a1a41a294c5cf1138b11f Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Thu, 4 Jun 2015 14:36:29 +0200 Subject: [PATCH 01/12] use wide labels Signed-off-by: Florian Kraft --- app/helpers/work_packages_helper.rb | 2 +- app/views/work_packages/_two_column_attributes.html.erb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/helpers/work_packages_helper.rb b/app/helpers/work_packages_helper.rb index d33117fe80..db1e8bdd3e 100644 --- a/app/helpers/work_packages_helper.rb +++ b/app/helpers/work_packages_helper.rb @@ -434,7 +434,7 @@ module WorkPackagesHelper end def work_package_form_field(required: false, classes: '') - div_class = 'form--field' + div_class = 'form--field -wide-label' div_class << " #{classes}" div_class << ' -required' if required diff --git a/app/views/work_packages/_two_column_attributes.html.erb b/app/views/work_packages/_two_column_attributes.html.erb index 0d9fdfcc53..56e8ee92fc 100644 --- a/app/views/work_packages/_two_column_attributes.html.erb +++ b/app/views/work_packages/_two_column_attributes.html.erb @@ -29,12 +29,12 @@ See doc/COPYRIGHT.rdoc for more details. <% left_attributes, right_attributes = attributes.in_groups(2, false) %>
-
+
<% left_attributes.each do |attribute| %> <%= attribute.field %> <% end %>
-
+
<% right_attributes.each do |attribute| %> <%= attribute.field %> <% end %> From 50cd5730892d0da80582d83167ae49fc62f70685 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Thu, 4 Jun 2015 14:51:49 +0200 Subject: [PATCH 02/12] add a modifier for breaking words if necessary Signed-off-by: Florian Kraft --- app/assets/stylesheets/content/_forms.sass | 5 +++++ app/helpers/work_packages_helper.rb | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/assets/stylesheets/content/_forms.sass b/app/assets/stylesheets/content/_forms.sass index ea848de57a..ca0beb1464 100644 --- a/app/assets/stylesheets/content/_forms.sass +++ b/app/assets/stylesheets/content/_forms.sass @@ -535,6 +535,11 @@ fieldset.form--fieldset & > [data-tooltip], & > [class^="tooltip--"] padding-top: 0.6rem +.form--field + & .-break-words > .form--label + text-overflow: ellipsis + overflow: hidden + .form--list display: flex margin: 0 diff --git a/app/helpers/work_packages_helper.rb b/app/helpers/work_packages_helper.rb index db1e8bdd3e..a35b0f304c 100644 --- a/app/helpers/work_packages_helper.rb +++ b/app/helpers/work_packages_helper.rb @@ -434,7 +434,7 @@ module WorkPackagesHelper end def work_package_form_field(required: false, classes: '') - div_class = 'form--field -wide-label' + div_class = 'form--field -wide-label -break-words' div_class << " #{classes}" div_class << ' -required' if required From 3bfafd6940086e98eb4930eda0df88e0bd76d548 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Thu, 4 Jun 2015 15:49:54 +0200 Subject: [PATCH 03/12] realign the checkboxes [ci skip] Signed-off-by: Florian Kraft --- app/assets/stylesheets/content/_tables.sass | 2 +- app/assets/stylesheets/content/_work_packages_table.sass | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/assets/stylesheets/content/_tables.sass b/app/assets/stylesheets/content/_tables.sass index 3932513fea..55106fd742 100644 --- a/app/assets/stylesheets/content/_tables.sass +++ b/app/assets/stylesheets/content/_tables.sass @@ -120,7 +120,7 @@ tr.issue &.idnt-9 td.subject padding-left: 12.5em -/* Work Package hierarchy layout +/* Work Package hierarchy layout */ tr &.work-package diff --git a/app/assets/stylesheets/content/_work_packages_table.sass b/app/assets/stylesheets/content/_work_packages_table.sass index 90a93ac2f2..bd7e342e94 100644 --- a/app/assets/stylesheets/content/_work_packages_table.sass +++ b/app/assets/stylesheets/content/_work_packages_table.sass @@ -129,6 +129,7 @@ table.workpackages-table &.checkbox min-width: 0 width: 20px + padding: 7px 5px 3px 7px &.id min-width: 0 width: 50px From 6f9ab2d272b0d84842121c576ab4e52ac9298666 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Thu, 4 Jun 2015 17:10:32 +0200 Subject: [PATCH 04/12] update tests to accomodate for new classes Signed-off-by: Florian Kraft --- spec/helpers/work_packages_helper_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/helpers/work_packages_helper_spec.rb b/spec/helpers/work_packages_helper_spec.rb index 0f77992cbe..35dcd5577c 100644 --- a/spec/helpers/work_packages_helper_spec.rb +++ b/spec/helpers/work_packages_helper_spec.rb @@ -284,7 +284,7 @@ describe WorkPackagesHelper, type: :helper do expect(helper.work_package_form_category_attribute(form, stub_work_package, project: stub_project).field) - .to be_html_eql("
#{label_placeholder} + .to be_html_eql("
#{label_placeholder} category html
") end @@ -438,7 +438,7 @@ describe WorkPackagesHelper, type: :helper do describe '#work_package_form_custom_values_attribute' do let(:stub_custom_value) { FactoryGirl.build_stubbed(:work_package_custom_value) } let(:field_content) { 'field contents' } - let(:expected) { "
#{field_content}
" } + let(:expected) { "
#{field_content}
" } before do allow(stub_work_package).to receive(:custom_field_values).and_return([stub_custom_value]) From cd4f959f1b21400c55dbdf02329b84fb91c3b70c Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Fri, 5 Jun 2015 13:55:16 +0200 Subject: [PATCH 05/12] switch to a line height based solution [ci skip] Signed-off-by: Florian Kraft --- app/assets/stylesheets/content/_work_packages_table.sass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/stylesheets/content/_work_packages_table.sass b/app/assets/stylesheets/content/_work_packages_table.sass index bd7e342e94..ebf6fa64cf 100644 --- a/app/assets/stylesheets/content/_work_packages_table.sass +++ b/app/assets/stylesheets/content/_work_packages_table.sass @@ -129,7 +129,7 @@ table.workpackages-table &.checkbox min-width: 0 width: 20px - padding: 7px 5px 3px 7px + line-height: 1 &.id min-width: 0 width: 50px From 08700cbff3f67b06f0256db1a2ff006b2156b568 Mon Sep 17 00:00:00 2001 From: kgalli Date: Mon, 8 Jun 2015 09:20:49 +0200 Subject: [PATCH 06/12] Fix wrong version number --- doc/operation_guides/manual/installation-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/operation_guides/manual/installation-guide.md b/doc/operation_guides/manual/installation-guide.md index 8662d185f9..78e4b59dc4 100644 --- a/doc/operation_guides/manual/installation-guide.md +++ b/doc/operation_guides/manual/installation-guide.md @@ -1,4 +1,4 @@ -# Installation of OpenProject 4.0 with Apache on Debian 7.7 or Ubuntu 14.04 LTS +# Installation of OpenProject 4.1 with Apache on Debian 7.7 or Ubuntu 14.04 LTS **This tutorial helps you to deploy OpenProject 4.0. Please, aware that:** From 6c5dcfd1ecf0f5d5752593bb9d8b9fd18d54592a Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 8 Jun 2015 10:57:54 +0200 Subject: [PATCH 07/12] move modifier class into form--field scope also, fix the releation to the parent [ci skip] Signed-off-by: Florian Kraft --- app/assets/stylesheets/content/_forms.sass | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/assets/stylesheets/content/_forms.sass b/app/assets/stylesheets/content/_forms.sass index ca0beb1464..cc9477230e 100644 --- a/app/assets/stylesheets/content/_forms.sass +++ b/app/assets/stylesheets/content/_forms.sass @@ -236,6 +236,10 @@ fieldset.form--fieldset .form--label + span.form--field-container display: block + &.-break-words > .form--label + text-overflow: ellipsis + overflow: hidden + .form--label @include grid-content(2) @include grid-visible-overflow @@ -535,11 +539,6 @@ fieldset.form--fieldset & > [data-tooltip], & > [class^="tooltip--"] padding-top: 0.6rem -.form--field - & .-break-words > .form--label - text-overflow: ellipsis - overflow: hidden - .form--list display: flex margin: 0 From 008843b60de93c8971aa436552c78e069e7a95c1 Mon Sep 17 00:00:00 2001 From: jonasheinrich Date: Mon, 8 Jun 2015 13:55:41 +0200 Subject: [PATCH 08/12] Fix wrong version number --- doc/operation_guides/manual/installation-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/operation_guides/manual/installation-guide.md b/doc/operation_guides/manual/installation-guide.md index 78e4b59dc4..68cdc7b0d7 100644 --- a/doc/operation_guides/manual/installation-guide.md +++ b/doc/operation_guides/manual/installation-guide.md @@ -1,12 +1,12 @@ # Installation of OpenProject 4.1 with Apache on Debian 7.7 or Ubuntu 14.04 LTS -**This tutorial helps you to deploy OpenProject 4.0. Please, aware that:** +**This tutorial helps you to deploy OpenProject 4.1. Please, aware that:** 1. This guide requires that you have a clean **Debian 7.7 x64** or **Ubuntu 14.04 x64** installation with administrative rights. We have tested the installation guide on a Debian minimal netinstall image and on an Ubuntu Server image, but it should work on any derivative. 2. OpenProject will be installed with a MySQL database (the guide should work analogous with PostgreSQL). 3. OpenProject will be served in a production environment with Apache (this guide should work analogous with other servers, like nginx and others) -In this guide, we will install **OpenProject 4.0** with a **MySQL** database. Openproject will be served with the **Apache** web server. When your server needs to reboot, OpenProject should start automatically with your server. +In this guide, we will install **OpenProject 4.1** with a **MySQL** database. Openproject will be served with the **Apache** web server. When your server needs to reboot, OpenProject should start automatically with your server. Note: We have highlighted commands to execute like this ```bash From f9031b808a4c226819ff3df6e6be3b58eb5626a8 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 8 Jun 2015 17:45:30 +0200 Subject: [PATCH 09/12] update icon font to latest version Signed-off-by: Florian Kraft --- .../openproject-icon-font.eot | Bin 42164 -> 44228 bytes .../openproject-icon-font.svg | 17 ++++++++++++++--- .../openproject-icon-font.ttf | Bin 41940 -> 44004 bytes .../openproject-icon-font.woff | Bin 25052 -> 26416 bytes 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/assets/fonts/openproject_icon/openproject-icon-font.eot b/app/assets/fonts/openproject_icon/openproject-icon-font.eot index 450462839e745c993380e4252a76474fffc0b080..ecbc7b58d6e236d1b7b012d537c092eb34441f13 100644 GIT binary patch delta 2991 zcmaJD36K=k_5D8n?_%( z6ADSHl0wILtd?2hQBkpqxE5s$>L%GB8pT+qsKl7ms>H+#@qidKLtZZfZmLrLKd;|^ z$NcyHd+)#QC!Xh~{>;&-y#Play@lq4yAKb(b4y`ganp}(ybs{fLjVx!>+b0#7Eq*r zjj=3G$PijM5%=>W-LPTf=Hix`tna7D*ayIcuD*8N$W5ES zIR}90NNXEMwv3YN$v04r8-jk#$i~aRqrLwuz`b9fymj>2>o(Wlyz?%A`;q|4H9$}c z;hn+5cVFV}JOL_)41ibeShMOZMu&mJi9-Uebd0ocL@7nMwcH#0#CDF5i6UP`mM%rP z&sKsq&?{3xihu?(Vm$N=gl234w+t!UdI$s#eZe3KNTZoI_|idPfP7N&h;`(-QnPp~ z+9*9EuIG=zgQYptocA*P5}txz!2x(0o`Gj!5`GQ8f#1Ru{0L#VXu<7EF2#v%eyCY9U-meeUZ_;!6%6x$rz6Wbem z)1ZdmSY~W74jG>|#2QvK>}i;6gvRd1-Hi`59*tMW*T%=<2jYJ-B{OMWYL1yl=Q!qE zI_LKDo|yafxrdwbO+!svn)Ww+(LASlxOq$Sf#zfLR?fR;-hmc>%Z`?#39XnYB*qd) zlKJFNa$EADl7Q{^Pa{?XLFM+D~=(JDNM@cU;&p+A-F#x1-$I*}0+fhn@Fy9_o6$ z>-DZv^Ih{FTCifl_61KCezq{Za*=D%Rf~=<9_wDylj^yxm-cSx{a)`gy&w0*`zHIF z`*-!<*1y01$UtOZ$H41L<}Y~@VB(K*xMSkMo+mCS$#-UoSk~YpC&&a=f($OKo)|K$ zCKAlDpp|V5b5@Xt5Vq?^{@qi9gM9guRjV6}RquK>%Ys7*DQ)|- zT8F5RC0F|Bz!J8L(p{{N>3Z*}?<+M5gsI0(bbS;9+QazCke_%3fmvW@QlG4h>1o`lfC<5AM;Wj;e!2gdJm}jdQ26G z4{Y+Tyn1xNwJgy&IM~_LXrv3Pw{BgIOEN;XCek=|@WdSmNCRq9~2Uu`=h0#E7L zUKwSbOqYkr@HzU0I!=i>tK3SJ;R^|&S|UZ2qQ~L%Hu@q$7(Hh8ON#??0uNv(LW3yG z!@~ZbbTI5#Gwn)al>lP@VrIakT44>>&W&#E9$r|W?B?=wuF-7~&JlO{ zysF;})Qgc2Q5w`Lr%MSnM}_DW(onbuZ{xD%ZSA6vNmO?%6lrmwf8^rrCvV0eW5{LL zL{5?25Q8N2!bPwVz75yoX|OKRc7Yf%^p2V6ayk{%!o)BQY%^HiaSN*@ow9OW1a)XI zn+_8iNYAJR{4**BJFAn;*g63%gWD8S=ZX#g9+=rJh*w;UW~0liG#4+(g2YK2Rj8;` zG1`gYT$qXL?Aq#12V+7~aIZ<$en-gIQ5=0$y9|+y73Y&LJO#E@~xzBmddG0wk zr}qkzKgY27qrl*i1FTy-5gD625YDEzza3fv9Qgo%BDO3NB_^;GAEa2d>S>GJl3BSJ zAZsaJv#B|rA}`j<01?d>1)AbJQZq9U(fs|Cmo{yEY0Cmr%`5a;0QMyko8!-ko;h7l zxgV*yX9Hq0BcXa#6l)UAJJY)t6l5F?WC4cVx@}YZ;@P{$0G0|cXpZkrk>|;?l=spC zRWjbZ`DOX7E}(rqN*Nje`ndrApQjB| z<+->Nj4)2j3}yt5SoBA$&!4NcTF?1PjFDhS@HyVts#;kF`RB2jcdd+mkG*Bn6Yp6R} zH)WQaljb2yFl|X$GM0kXYHhV-Ouq@~ft_~(b2%QLB3d_O^?=3mGG_ka|enov@*?W<_k@09_v?n?htByHy z56`Rd3)?gKoGX%lQn=rqh!MITuaZ%c#(cVSX2PpWbiA6KU-gjOQET_OT}~ZoFJEbG zFqV~?!!n7Kbd*Rc9HiVH3W{QO4JR#;D|B{YxXqQj`pybM9D?DHo1PmE_0x^a*$+>X iT=ZyKL~Ob4;swJEN diff --git a/app/assets/fonts/openproject_icon/openproject-icon-font.svg b/app/assets/fonts/openproject_icon/openproject-icon-font.svg index c12895b7c7..8b9e57cb9e 100644 --- a/app/assets/fonts/openproject_icon/openproject-icon-font.svg +++ b/app/assets/fonts/openproject_icon/openproject-icon-font.svg @@ -118,7 +118,6 @@ - @@ -256,7 +255,19 @@ - - + + + + + + + + + + + + + + diff --git a/app/assets/fonts/openproject_icon/openproject-icon-font.ttf b/app/assets/fonts/openproject_icon/openproject-icon-font.ttf index 96f76fddca7687c0d53febe7452178a277db2b9c..56668794bf6162d063a6e50d209464037a0a3821 100644 GIT binary patch delta 2975 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 aaxvOnN_=8Rw~E1x*xx;`@c%Iu_+#HGk diff --git a/app/assets/fonts/openproject_icon/openproject-icon-font.woff b/app/assets/fonts/openproject_icon/openproject-icon-font.woff index db649a934717b7426332d4789c01a3bbfe560045..8e8ccc341d2aed92974cb338697047adc32b174f 100644 GIT binary patch literal 26416 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 literal 25052 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 Date: Mon, 8 Jun 2015 17:45:47 +0200 Subject: [PATCH 10/12] update LSG with required icons Signed-off-by: Florian Kraft --- .../stylesheets/fonts/_openproject_icon_font.md | 4 ++++ .../stylesheets/fonts/_openproject_icon_font.sass | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/app/assets/stylesheets/fonts/_openproject_icon_font.md b/app/assets/stylesheets/fonts/_openproject_icon_font.md index 5f92abe6eb..8bb18bfb84 100644 --- a/app/assets/stylesheets/fonts/_openproject_icon_font.md +++ b/app/assets/stylesheets/fonts/_openproject_icon_font.md @@ -38,6 +38,7 @@ + @@ -70,6 +71,7 @@ + @@ -80,6 +82,7 @@ + @@ -157,6 +160,7 @@ + diff --git a/app/assets/stylesheets/fonts/_openproject_icon_font.sass b/app/assets/stylesheets/fonts/_openproject_icon_font.sass index f0b4651b62..522c807792 100644 --- a/app/assets/stylesheets/fonts/_openproject_icon_font.sass +++ b/app/assets/stylesheets/fonts/_openproject_icon_font.sass @@ -952,6 +952,18 @@ dt > .icon-wiki-page:before, .icon-status-reporting:before content: "\e0f3" +.icon-custom-fields:before + content: "\e102" + +.icon-billing-information:before + content: "\e100" + +.icon-enumerations2:before + content: "\e101" + +.icon-payment-history2:before + content: "\e103" + /* remove once all menu items have an icon */ .no-icon margin-left: 15px From 85d55809fd9d3f7780ee60493dee885d97bc87de Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 8 Jun 2015 17:45:57 +0200 Subject: [PATCH 11/12] use new icons in respective menus Signed-off-by: Florian Kraft --- config/initializers/menus.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/initializers/menus.rb b/config/initializers/menus.rb index a762508ba5..051d80b903 100644 --- a/config/initializers/menus.rb +++ b/config/initializers/menus.rb @@ -105,21 +105,21 @@ Redmine::MenuManager.map :admin_menu do |menu| menu.push :statuses, { controller: '/statuses' }, caption: :label_work_package_status_plural, - html: { class: 'statuses icon2 icon-status' } + html: { class: 'statuses icon2 icon-flag' } menu.push :workflows, { controller: '/workflows', action: 'edit' }, caption: Proc.new { Workflow.model_name.human }, - html: { class: 'icon2 icon-status' } + html: { class: 'icon2 icon-arrow-circle1' } menu.push :custom_fields, { controller: '/custom_fields' }, caption: :label_custom_field_plural, - html: { class: 'custom_fields icon2 icon-status' } + html: { class: 'custom_fields icon2 icon-custom-fields' } menu.push :enumerations, { controller: '/enumerations' }, - html: { class: 'icon2 icon-status' } + html: { class: 'icon2 icon-enumerations2' } menu.push :settings, { controller: '/settings' }, @@ -127,7 +127,7 @@ Redmine::MenuManager.map :admin_menu do |menu| menu.push :ldap_authentication, { controller: '/ldap_auth_sources', action: 'index' }, - html: { class: 'server_authentication icon2 icon-status' }, + html: { class: 'server_authentication icon2 icon-flag' }, if: proc { !OpenProject::Configuration.disable_password_login? } menu.push :plugins, From 0c1a3cb82ecb4e36c4c29c86c0afce3b21a1d8ec Mon Sep 17 00:00:00 2001 From: Jan Sandbrink Date: Tue, 9 Jun 2015 10:14:50 +0200 Subject: [PATCH 12/12] eliminate #008BD0 Don't know where this color originated, but it was ruthlessly replaced by the dark primary color --- app/assets/stylesheets/_misc_legacy.sass | 3 ++- app/assets/stylesheets/content/_forms.sass | 4 ++-- app/assets/stylesheets/content/_in_place_editing.sass | 6 ++---- app/assets/stylesheets/timelines.css.sass | 4 ++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/assets/stylesheets/_misc_legacy.sass b/app/assets/stylesheets/_misc_legacy.sass index a365d0caba..336ef1dfb5 100644 --- a/app/assets/stylesheets/_misc_legacy.sass +++ b/app/assets/stylesheets/_misc_legacy.sass @@ -32,6 +32,7 @@ // This is a "junk-drawer" containing CSS rule sets that could not be easily // placed elsewhere. Pleade DO NOT add to this file. Instead MOVE, refactor or // REMOVE with ruthlessness. +@import open_project_global/variables #watchers @@ -668,7 +669,7 @@ div.indent width: 700px .required - color: #008BD0 + color: $primary-color-dark /*Gannt chart fix IE 6 */ diff --git a/app/assets/stylesheets/content/_forms.sass b/app/assets/stylesheets/content/_forms.sass index cc9477230e..04d4e0ef25 100644 --- a/app/assets/stylesheets/content/_forms.sass +++ b/app/assets/stylesheets/content/_forms.sass @@ -263,10 +263,10 @@ fieldset.form--fieldset &::after @include default-transition content: '*' - color: #008BD0 + color: $primary-color-dark padding: 0 0.325rem &:hover::after - color: smartscale(#008BD0, 30%) + color: $primary-color .form--field-container @include grid-content(10) diff --git a/app/assets/stylesheets/content/_in_place_editing.sass b/app/assets/stylesheets/content/_in_place_editing.sass index 808e52b6fb..c434bac9e9 100644 --- a/app/assets/stylesheets/content/_in_place_editing.sass +++ b/app/assets/stylesheets/content/_in_place_editing.sass @@ -29,10 +29,8 @@ $inplace-edit--border-color: #ddd $inplace-edit--dark-background: #f8f8f8 $inplace-edit--color--very-dark: #cacaca -$inplace-edit--color-highlight: #0a97dd -$inplace-edit--selected-date-border-color: #008bd0 -$inplace-edit--color-highlight: #0a97dd - +$inplace-edit--color-highlight: $primary-color +$inplace-edit--selected-date-border-color: $primary-color-dark %inline-date-picker-container-position-absolute display: none diff --git a/app/assets/stylesheets/timelines.css.sass b/app/assets/stylesheets/timelines.css.sass index 7cffdb4678..6f4fa9f873 100644 --- a/app/assets/stylesheets/timelines.css.sass +++ b/app/assets/stylesheets/timelines.css.sass @@ -160,11 +160,11 @@ select * ╰───────────────────────────────────────────────────────────────────╯ a.tl-discreet-link, input.tl-discreet-link - color: #4b4b4b + color: $body-font-color font-weight: normal a.tl-discreet-link:hover, input.icon:hover - color: #008BD0 + color: $primary-color-dark text-decoration: underline #content .timeline