understanding-and-using-rem-units-in-css

CSS units have been the subject of several articles here on SitePoint (such as A Look at Length Units in CSS, The New CSS3 Relative Font Sizing Units, and The Power of em Units in CSS). In this article, we increase the count by having an in-depth look at rem units, which have excellent browser support and a polyfill if you need support for old IE.

This article was updated in December, 2019 to reflect the current state of rem unit sizing with CSS. For more on CSS font and text properties, read our book, CSS Master, 2nd Edition.

What Are rem Units?

You might have encountered the term “R.E.M.” before while listening to the radio or your music player. Unlike their musical counterparts, named for the “Rapid Eye Movement” during deep sleep, in CSS rem stands for “root em”. They won’t make you lose your religion nor believe in a man on the moon. What they can do is help you achieve a harmonious and balanced design.

According to the W3C spec the definition for one rem unit is:

Equal to the computed value of font-size on the root element. When specified on the font-size property of the root element, the rem units refer to the property’s initial value.

This means that 1rem equals the font size of the html element (which for most browsers has a default value of 16px).

Rem Units vs. Em Units

The main problem with em units is that they are relative to the font size of their own element. As such they can cascade and cause unexpected results. Let’s consider the following example, where we want lists to have a font size of 12px, in the case where the root font size is the default 16px:

html {
font-size: 100%;
}

ul {
font-size: 0.75em;
}

If we have a list nested inside another list, the font size of the inner list will be 75% of the size of its parent (in this case 9px). We can still overcome this problem by using something along these lines:

ul ul {
font-size: 1em;
}

This does the trick, however we still have to pay a lot of attention to situations where nesting gets even deeper.

With rem units, things are a simpler:

html {
font-size: 100%;
}

ul {
font-size: 0.75rem;
}

As all the sizes are referenced from the root font size, there is no more need to cover the nesting cases in separate declarations.

Font Sizing with Rem Units

One of the pioneers of using rem units for font sizing is Jonathan Snook with his Font sizing with REM article, back in May, 2011. Like many other CSS developers, he had to face the problems that em units bring in complex layouts.

At that time, older versions of IE still had large market shares and they were unable to zoom text that was sized with pixels. However, as we saw earlier, it is very easy to lose track of nesting and get unexpected results with em units.

The main issue with using rem for font sizing is that the values are somewhat difficult to use. Let’s see an example of some common font sizes expressed in rem units, assuming, of course, that the base size is 16px:

  • 10px = 0.625rem
  • 12px = 0.75rem
  • 14px = 0.875rem
  • 16px = 1rem (base)
  • 18px = 1.125rem
  • 20px = 1.25rem
  • 24px = 1.5rem
  • 30px = 1.875rem
  • 32px = 2rem

As we can see, these values are not very convenient for making calculations. For this reason, Snook used a trick called “62.5%“. It was not a new discovery, by any means, as it was already used with em units:

body { font-size:62.5%; } /* =10px */
h1 { font-size: 2.4em; } /* =24px */
p { font-size: 1.4em; } /* =14px */
li { font-size: 1.4em; } /* =14px? */

As rem units are relative to the root element, Snook’s variant of the solution becomes:

html { font-size: 62.5%; } /* =10px */
body { font-size: 1.4rem; } /* =14px */
h1 { font-size: 2.4rem; } /* =24px */

One also had to take into account the other browsers that didn’t support rem. Thus the code from above would have actually been written this way:

html {
font-size: 62.5%;
}

body {
font-size: 14px;
font-size: 1.4rem;
}

h1 {
font-size: 24px;
font-size: 2.4rem;
}

While this solution seems to be close to the status of a “golden rule”, there are people who advise against using it blindingly. Harry Roberts writes his own take on the use of rem units. In his opinion, while the 62.5% solution makes calculation easier (as the font sizes in px are 10 times their rem values), it ends up forcing developers to explicitly rewrite all the font sizes in their website.

A third view comes from Chris Coyier of CSS-Tricks. His solution makes use of all three units we encountered so far. He keeps the root size defined in px, modules defined with rem units, and elements inside modules sized with em. This approach makes easier to manipulate global size, which scales the type in the modules, while the module content is scaled based on the module font size itself. Louis Lazaris discussed that latter concept in The Power of em Units in CSS.

In the example below you can see how Chris’s approach would look:

See the Pen One Method for Using ems and rems in CSS by SitePoint (@SitePoint) on CodePen.

In practice, there are major frameworks such as Bootstrap 4 and the Material Design guidelines that use rem units for sizing text content.

A special mention goes to Material-UI, a very popular collection of React components. Not only are they sizing text the same way, but also offer a mechanism to implement the “10px simplification” we mentioned above.

Another recent project, Every Layout, combines em and rem units in a very inspired way. It comes closest to Chris Coyier’s model outline earlier and it uses em units to emphasize inline elements like SVG icons, spans or other similar elements.

As you can see, there is no “silver bullet” solution. The combinations possible are limited only by the imagination of the developers.

The use of em or rem units inside media queries is closely related to the notion of “optimal line length” and how it influences the reading experience. In September 2014, Smashing Magazine published a comprehensive study on web typography called Size Matters: Balancing Line Length And Font Size In Responsive Web Design. Among many other interesting things, the articles gives an estimate for optimal line length: between 45 and 75-85 characters (including spaces and punctuation), with 65 the “ideal” target value.

Using a rough estimate of 1rem = 1character, we can control the flow of text for a single column of content, in a mobile-first approach:

.container {
width: 100%;
}

@media (min-width: 85rem) {
.container {
width: 65rem;
}
}

There is, however, one interesting detail about rem and em units when used as units for media queries: they always keep the same value of 1rem = 1em = browser-set font size. The reason for this behavior is explained in the media query spec (emphasis added):

Relative units in media queries are based on the initial value, which means that units are never based on results of declarations. For example, in HTML, the em unit is relative to the initial value of font-size, defined by the user agent or the user’s preferences, not any styling on the page.

Let’s see a quick example of this behavior:

View Media Query Demo on CodePen

First, in our HTML, we have a element where we will write the width of the viewport:

Document width: px

Next we have two media queries, one with rem units and the other with em units (this uses Sass for simplicity):

html {
font-size: 62.5%; /* 62.5% of 16px = 10px */

@media (min-width: 20rem) {
/* 20*16px = 320px */
background-color: lemonchiffon;
font-size: 200%;
/* 200% of 16px = 32px */
}

@media (min-width: 30em) {
/* 30*16px = 480px */
background-color: lightblue;
font-size: 300%; /* 300% of 16px = 48px */
}
}

Finally, we use a bit of jQuery to display the viewport width on the page, updating the value when the window size changes:

$('span').text($(window).width());

$(window).on('resize', function(e) {
$('span').text($(window).width());
});

We begin with the 62.5% trick to show that the modified root font size does not have any effect on the values used for the media queries. As we change the width of the browser window we can see that the first media query kicks in at 320px (20 × 16px) while the second one becomes active at 480px (30 × 16px). None of the font-size changes we declared had any effect on the breakpoints. The only way to change the media query breakpoint values is to modify the default font size in the browser settings.

For this reason, it doesn’t really matter if we use em or rem units for media query breakpoints. Zurb Foundation (currently at v6.5.3 at the moment this was written) makes use of em units in the media queries.

The Quest for Accessibility

We’ve seen above that the ability to scale based on the root font size makes rem units very useful for accessibility. Google developers make the recommendation to use relative units for text sizing.

There is an empirical study run by the people behind the Internet Archive showing that there is a significant amount of users who change their default font size in the browser settings. By using rem and other relative units you respect the users’ decisions about the way they want to browse the web.

Using rem Units for Scaling Documents

A third use we can find for rem units is to build scalable components. By expressing widths, margins, and padding in rem units, it becomes possible to create an interface that grows or shrinks in tune with the root font size. Let’s see how this thing works using a couple of examples.

Using rem Units for Scaling Documents Demo #1

In this first example, we change the root font size using media queries. Just like in the previous section, the purpose is to customize the reading experience for the device used. As element padding values and margins are expressed using rem, the entire component scales with the device size.

Let’s see another:

See the Pen Dynamic Sizing of Modules with Rem Units by SitePoint (@SitePoint) on CodePen.

In the second example we do the same alteration using JavaScript. This time the user has control over the size of the interface, adjusting it to fit his needs. Add a way to store these custom values (using either a database, cookies or local storage) and you have the base of a personalization system based on user preferences.

Conclusion

We end here our encounter with CSS rem units. It is obvious that there are many advantages in using these units in our code, like responsiveness, scalability, improved reading experience, and greater flexibility in defining components. Rem units not a universal silver bullet solution but, with careful deployment, they can solve many problems that have irked developers for years. It’s up to each one of us to unlock the full potential of rems. Start your editors, experiment and share your results with the rest of us.

Make the most of your text by understanding what more you could do with text CSS values. In our screencast AtoZ CSS: Text and Typography, we’ll explore text properties, font properties, and more.

It’s not The End of the World as We Know It, rather it’s yet another path on the journey that makes front-end developers “Shiny Happy People“.

Adrian is a front-end developer and UX enthusiast based in Dublin, Ireland. He’s focused on CSS architecture, responsive web design and website performance. He believes in giving back to the community, being involved in running three local meetups and he started speaking at international events. In the off time, he loves playing video games and tinker with custom PC builds.

111 comments

  1. When someone writes an article he/she retains the plan of a user in his/her mind that how a user can know it.
    So that’s why this piece of writing is perfect. Thanks!

  2. It’s very effortless to find out any topic on net as compared to books,
    as I found this post at this site.

  3. What’s up to all, how is all, I think every one is getting more from this web site, and your views are pleasant
    in support of new viewers.

  4. What’s up Dear, are you actually visiting this website regularly, if so after that you will definitely obtain pleasant
    experience.

  5. It’s going to be ending of mine day, however before end I am reading this
    enormous post to increase my know-how.

  6. Hey there! I’ve been reading your site for some
    time now and finally got the bravery to go ahead and give
    you a shout out from Humble Texas! Just wanted to mention keep up the excellent work!

  7. Great post. I was checking continuously this
    blog and I’m impressed! Very useful information specifically the ultimate phase :
    ) I deal with such information much. I was looking for this certain info for a long
    time. Thanks and good luck.

  8. Howdy! I know this is kinda off topic however , I’d figured I’d ask.
    Would you be interested in exchanging links or maybe
    guest authoring a blog article or vice-versa? My site goes over a lot of the
    same topics as yours and I think we could greatly benefit from each other.
    If you are interested feel free to send me an email. I look forward to hearing from you!
    Terrific blog by the way!

  9. I like the valuable info you provide in your articles. I’ll bookmark your
    blog and check again here frequently. I’m quite certain I’ll learn many
    new stuff right here! Good luck for the next!

  10. I read this piece of writing completely concerning the difference of latest and earlier technologies,
    it’s remarkable article.

  11. Excellent way of telling, and good piece of writing to get data on the topic of my presentation topic,
    which i am going to convey in academy.

  12. You can definitely see your enthusiasm within the article you write.
    The sector hopes for even more passionate writers like you who are not afraid to mention how
    they believe. All the time follow your heart.

  13. Hello there! I know this is kinda off topic nevertheless I’d figured I’d ask.

    Would you be interested in exchanging links or maybe guest authoring a
    blog article or vice-versa? My website discusses a lot of the same subjects as yours
    and I think we could greatly benefit from each other.
    If you happen to be interested feel free to send me an e-mail.

    I look forward to hearing from you! Great blog by the way!

  14. Hello, every time i used to check website posts here in the early
    hours in the morning, for the reason that i love to learn more and more.

  15. I’m really loving the theme/design of your web site.
    Do you ever run into any browser compatibility issues?
    A number of my blog audience have complained about my blog not operating
    correctly in Explorer but looks great in Firefox.
    Do you have any advice to help fix this issue?

  16. An outstanding share! I’ve just forwarded this onto a coworker who
    had been doing a little research on this. And he in fact ordered me dinner due
    to the fact that I discovered it for him… lol. So let me
    reword this…. Thanks for the meal!! But yeah,
    thanx for spending time to discuss this topic here
    on your blog.

  17. Hi there everyone, it’s my first visit at this site, and piece of writing is in fact fruitful in support of me,
    keep up posting such articles.

  18. Pretty nice post. I simply stumbled upon your weblog and wished to mention that I’ve truly enjoyed browsing
    your blog posts. In any case I will be subscribing to your rss feed and I am hoping you
    write once more soon!

  19. Hello my family member! I wish to say that this post is amazing, nice written and include almost all vital infos.

    I’d like to peer extra posts like this .

  20. I am extremely impressed together with your writing skills as well as with
    the layout to your blog. Is this a paid theme or did you modify it your self?

    Either way keep up the nice quality writing, it is
    uncommon to look a great blog like this one these days..

  21. Hey there! This is my first comment here so I just wanted to give a quick shout out and tell you I genuinely enjoy reading your blog posts.
    Can you suggest any other blogs/websites/forums that go over the same subjects?

    Appreciate it!

  22. Hmm it appears like your site ate my first comment (it was super long) so I
    guess I’ll just sum it up what I wrote and say, I’m thoroughly enjoying your blog.
    I as well am an aspiring blog blogger but I’m still new to everything.

    Do you have any helpful hints for beginner blog writers?
    I’d really appreciate it.

  23. Good way of explaining, and fastidious article to take
    information concerning my presentation topic, which i
    am going to deliver in college.

  24. I think this is among the most significant info
    for me. And i’m glad reading your article.
    But wanna remark on few general things, The web site style is wonderful, the articles
    is really excellent : D. Good job, cheers

  25. Someone essentially assist to make critically articles I’d
    state. This is the first time I frequented your
    website page and up to now? I amazed with the analysis you
    made to make this actual publish extraordinary. Magnificent job!

  26. I have to thank you for the efforts you have put in penning this website.
    I’m hoping to check out the same high-grade content by you later on as well.

    In fact, your creative writing abilities has motivated me to
    get my very own blog now 😉

  27. Hey! Would you mind if I share your blog with my zynga group?
    There’s a lot of folks that I think would really
    appreciate your content. Please let me know. Many thanks

  28. We absolutely love your blog and find the majority of your post’s to be exactly I’m
    looking for. Would you offer guest writers to write content for yourself?
    I wouldn’t mind writing a post or elaborating on a few of the subjects you write concerning here.
    Again, awesome blog!

  29. I know this if off topic but I’m looking into starting my own weblog
    and was curious what all is required to get setup?
    I’m assuming having a blog like yours would
    cost a pretty penny? I’m not very internet smart so I’m not 100% certain. Any tips or advice would be greatly
    appreciated. Appreciate it

  30. Simply desire to say your article is as astounding.
    The clearness for your post is simply excellent and that i can assume you are an expert on this
    subject. Fine together with your permission allow me to grab your feed to stay up to date with forthcoming post.
    Thanks 1,000,000 and please carry on the rewarding work.

  31. If you wish for to take a good deal from this article then you have to apply these techniques to your won web site.

  32. Hello there, You’ve done a great job. I’ll definitely digg it and personally recommend to my friends.
    I am sure they’ll be benefited from this website.

  33. Hi there! This is my first visit to your
    blog! We are a team of volunteers and starting a new initiative
    in a community in the same niche. Your blog provided us beneficial
    information to work on. You have done a outstanding job!

  34. I’m extremely impressed together with your writing abilities as
    neatly as with the layout to your blog. Is this a paid subject or did
    you customize it your self? Either way stay
    up the nice quality writing, it’s uncommon to see a great blog
    like this one nowadays..

  35. Hi Dear, are you genuinely visiting this website on a
    regular basis, if so then you will definitely obtain good experience.

  36. I go to see each day a few web sites and websites to read articles, except this weblog gives feature based
    content.

  37. If some one wishes to be updated with newest technologies
    then he must be visit this website and be up to date everyday.

  38. Howdy! Do you know if they make any plugins to
    protect against hackers? I’m kinda paranoid about
    losing everything I’ve worked hard on. Any suggestions?

  39. I was pretty pleased to discover this web site. I need to to
    thank you for your time for this particularly wonderful read!!
    I definitely loved every little bit of it and i also have you bookmarked to check out new
    things in your web site.

  40. Good day! I know this is kinda off topic but I’d figured I’d ask.
    Would you be interested in trading links or maybe guest
    authoring a blog post or vice-versa? My site addresses a
    lot of the same subjects as yours and I feel we could greatly benefit from each other.
    If you happen to be interested feel free to shoot me an e-mail.
    I look forward to hearing from you! Wonderful blog by the way!

  41. We’re a group of volunteers and starting a new scheme in our community.
    Your site offered us with useful info to work on. You have performed a formidable activity and our whole group might
    be thankful to you.

  42. Hello outstanding blog! Does running a blog like this take a lot of work?
    I’ve virtually no expertise in computer programming but I was hoping
    to start my own blog soon. Anyways, if you have any suggestions or tips for new blog
    owners please share. I know this is off topic however I simply had to ask.

    Thanks a lot!

  43. First of all I want to say superb blog! I had a quick question that I’d like to ask
    if you do not mind. I was interested to know how you center yourself and clear your thoughts
    before writing. I’ve had difficulty clearing my thoughts in getting my ideas out.
    I do take pleasure in writing but it just seems like the first 10
    to 15 minutes tend to be lost just trying to figure out how to begin. Any ideas or tips?
    Cheers!

  44. I savour, lead to I discovered just what I was looking for.
    You have ended my 4 day lengthy hunt! God Bless you man. Have a great day.
    Bye

  45. I’m really enjoying the design and layout of your site.
    It’s a very easy on the eyes which makes it much more enjoyable
    for me to come here and visit more often. Did you hire out a developer
    to create your theme? Exceptional work!

  46. What you said was very reasonable. However,
    what about this? what if you typed a catchier post title?
    I mean, I don’t want to tell you how to run your website, however suppose you added
    a title that makes people want more? I mean Understanding and Using
    rem Units in CSS – Pavvy Designs is kinda boring.
    You might glance at Yahoo’s home page and note how they create news titles to grab people to click.
    You might add a related video or a related picture or two to get readers interested about what you’ve got to say.

    Just my opinion, it could bring your blog a little livelier.

  47. When some one searches for his necessary thing, so he/she wishes to be available that in detail, therefore that thing is
    maintained over here.

  48. When someone writes an paragraph he/she maintains the thought of a user in his/her brain that how a user can know it.
    Thus that’s why this piece of writing is great.
    Thanks!

  49. Hi there are using WordPress for your site platform?

    I’m new to the blog world but I’m trying to get started and
    create my own. Do you require any coding expertise to make your own blog?
    Any help would be really appreciated!

  50. Thank you for sharing your thoughts. I really appreciate your efforts and
    I am waiting for your next post thanks once again.

  51. whoah this blog is great i love studying your articles.
    Keep up the good work! You already know, lots of people are hunting
    around for this information, you could help them greatly.

  52. Asking questions are in fact fastidious thing if you are not understanding
    anything fully, however this piece of writing offers pleasant understanding even.

  53. Incredible! This blog looks just like my old one! It’s on a completely different subject but it
    has pretty much the same page layout and design. Superb choice of colors!

  54. Having read this I thought it was very informative.

    I appreciate you spending some time and energy to put this content together.

    I once again find myself spending a significant amount of
    time both reading and leaving comments. But so what, it was still
    worth it!

  55. Can I just say what a comfort to discover a person that
    truly understands what they’re discussing over the internet.
    You definitely understand how to bring an issue to light and make it important.

    More people ought to read this and understand
    this side of your story. I can’t believe you are not more popular because
    you most certainly possess the gift.

  56. I am no longer certain the place you’re getting your information, however great topic.

    I must spend some time finding out much more or understanding more.
    Thank you for magnificent information I used to be in search of this info for my mission.

  57. I’m really enjoying the theme/design of your website.
    Do you ever run into any web browser compatibility issues?
    A few of my blog visitors have complained about
    my website not operating correctly in Explorer but looks great in Firefox.
    Do you have any recommendations to help fix this problem?

  58. Undeniably imagine that that you stated.
    Your favourite reason seemed to be on the net the simplest thing to take into
    accout of. I say to you, I certainly get irked even as other
    people think about worries that they just do not know about.
    You managed to hit the nail upon the top and
    defined out the entire thing without having side-effects , other people
    can take a signal. Will probably be back to get more. Thanks

  59. Wow, superb weblog structure! How long have you been blogging for?
    you made blogging look easy. The total look of your site is
    great, let alone the content!

  60. Excellent blog you have here but I was curious if you knew of any community forums that cover the same topics talked about in this article?
    I’d really like to be a part of community where I can get
    comments from other knowledgeable people that share the same interest.
    If you have any recommendations, please let me know.

    Many thanks!

  61. I like the valuable info you supply in your articles.
    I’ll bookmark your blog and check once more here frequently.
    I am quite certain I’ll learn many new stuff right here!
    Good luck for the following!

  62. Thanks , I have just been searching for information about
    this topic for a long time and yours is the best I’ve found out so far.
    However, what in regards to the bottom line? Are you sure about the supply?

  63. Pretty section of content. I just stumbled upon your weblog
    and in accession capital to assert that I acquire in fact enjoyed account your
    blog posts. Any way I’ll be subscribing to your augment and
    even I achievement you access consistently rapidly.

  64. Great post. I was checking continuously this blog and I am
    impressed! Extremely helpful info specifically the last part 🙂 I care for such info much.

    I was looking for this certain information for
    a long time. Thank you and good luck.

    Also visit my site: poker via pulsa

  65. When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment
    is added I get three emails with the same comment.
    Is there any way you can remove people from that service?
    Bless you!

  66. Thank you for the good writeup. It in fact was a amusement
    account it. Look advanced to more added agreeable from you!
    However, how can we communicate?

  67. Pretty nice post. I just stumbled upon your blog and wished to say that I have really
    loved browsing your weblog posts. After all I’ll be
    subscribing in your feed and I am hoping you write
    once more very soon!

  68. Nice post. I was checking constantly this blog and
    I am impressed! Extremely helpful information particularly the last part 🙂 I care for such info a lot.
    I was looking for this certain information for a very long
    time. Thank you and best of luck.

  69. Hi there would you mind letting me know which webhost you’re utilizing?

    I’ve loaded your blog in 3 different internet browsers and I
    must say this blog loads a lot quicker then most. Can you suggest a good internet hosting provider at
    a fair price? Many thanks, I appreciate it!

  70. Very nice post. I just stumbled upon your blog and wanted to say that I’ve
    truly enjoyed surfing around your blog posts. After all I will be subscribing to your rss feed and I hope you write again very soon!

  71. great submit, very informative. I wonder why the other specialists of this sector don’t realize
    this. You should proceed your writing. I’m sure, you’ve a great readers’ base already!

  72. Fantastic beat ! I wish to apprentice while you
    amend your website, how can i subscribe for a blog site?

    The account helped me a acceptable deal. I had been a little
    bit acquainted of this your broadcast provided bright clear idea

  73. Thanks for another informative site. Where else may I get that type of information written in such a perfect means?
    I’ve a project that I’m just now running on, and I have been at the glance out for such info.

  74. Heya just wanted to give you a brief heads up and
    let you know a few of the images aren’t loading correctly. I’m not sure
    why but I think its a linking issue. I’ve tried it in two different internet browsers and both show the same results.

  75. Howdy! This blog post couldn’t be written any better!
    Reading through this article reminds me of my previous roommate!
    He continually kept preaching about this. I will send this information to him.
    Pretty sure he’ll have a very good read. Thank you for sharing!

  76. First of all I want to say excellent blog! I had a quick question which I’d like to
    ask if you do not mind. I was interested to know how you center yourself and clear your head before writing.
    I’ve had difficulty clearing my thoughts in getting my
    ideas out. I truly do take pleasure in writing however it just
    seems like the first 10 to 15 minutes are lost simply just trying to
    figure out how to begin. Any recommendations or hints?

    Many thanks!

  77. Every weekend i used to visit this site, because i wish for enjoyment,
    for the reason that this this web site conations in fact
    fastidious funny data too.

  78. Hello there! This post couldn’t be written any better!
    Reading through this post reminds me of my old room mate!
    He always kept chatting about this. I will forward this article
    to him. Pretty sure he will have a good read. Many thanks
    for sharing!

  79. Hey just wanted to give you a quick heads up. The words in your content seem
    to be running off the screen in Safari. I’m not sure if this
    is a formatting issue or something to do with internet browser
    compatibility but I figured I’d post to let you know.
    The layout look great though! Hope you get the problem solved soon.
    Many thanks

  80. I have been surfing on-line more than three hours these days, but I
    never discovered any fascinating article like yours.
    It’s beautiful price sufficient for me. In my view, if all site owners and bloggers made good content material as you did, the internet will be a lot more
    useful than ever before.

  81. Great site you have here but I was curious if you knew of any forums that cover
    the same topics discussed in this article?
    I’d really like to be a part of group where I can get feed-back from
    other knowledgeable people that share the same interest.
    If you have any suggestions, please let me
    know. Thank you!

  82. Spot on with this write-up, I seriously feel this site needs
    a great deal more attention. I’ll probably be back again to read through more, thanks for the advice!

  83. Thanks for sharing your thoughts. I truly appreciate your efforts and I will be
    waiting for your further write ups thanks once
    again.

Leave a Reply

Your email address will not be published.