@font-face {
  	font-family: 'IBM Plex Sans';
  	font-style: normal;
  	font-weight: 450;
 	src: local("IBM Plex Sans Text"), local("IBMPlexSans-Text"), url("/fonts/IBMPlexSans-Text.woff2") format("woff2"), url("/fonts/IBMPlexSans-Text.woff") format("woff"); 
}

@font-face {
  	font-family: 'IBM Plex Sans';
  	font-style: italic;
  	font-weight: 450;
  	src: local("IBM Plex Sans Text Italic"), local("IBMPlexSans-TextItalic"), url("/fonts/IBMPlexSans-TextItalic.woff2") format("woff2"), url("/fonts/IBMPlexSans-TextItalic.woff") format("woff"); 
}

@font-face {
  	font-family: 'IBM Plex Sans';
  	font-style: normal;
  	font-weight: 700;
  	src: local("IBM Plex Sans Bold"), local("IBMPlexSans-Bold"), url("/fonts/IBMPlexSans-Bold.woff2") format("woff2"), url("/fonts/IBMPlexSans-Bold.woff") format("woff"); 
}

@font-face {
  	font-family: 'IBM Plex Sans';
  	font-style: italic;
  	font-weight: 700;
  	src: local("IBM Plex Sans Bold Italic"), local("IBMPlexSans-BoldItalic"), url("/fonts/IBMPlexSans-BoldItalic.woff2") format("woff2"), url("/fonts/IBMPlexSans-BoldItalic.woff") format("woff"); 
}


[hidden] {
  display: none;
}

html {
  /* corrects text resizing oddly in IE7 when body font-size is set using em units -
     http://clagnut.com/blog/348/#c790 */
  font-size: 100%;
  /* always force scrollbar padding so we don't get 'jumping' */
  overflow-y: scroll;
  /* prevents iOS text size adjust after orientation change, without disabling user zoom -
     http://www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
  -webkit-text-size-adjust: 100%;
  /* as above, for Windows Phone */
  -ms-text-size-adjust: 100%;
}

/* Addresses margins set differently in IE7 */
p,
pre {
  margin: 1em 0;
}

/* addresses style set to 'bolder' in Firefox3-4, Safari4-5, Chrome */
b,
strong {
  font-weight: bold;
}

/* addresses CSS quotes not supported in IE7, addresses quote property not supported in Safari4 */
q {
  quotes: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

/* prevents sub and sup affecting line-height in all browsers */
sub,
sup {
  /* 16px */
  font-size: 0.900em;
  font-size: 120%\0/; 
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

sup a {
  font-size: 0.900em;
}

/* removes border when inside 'a' element in IE7-9, Firefox3, improves image quality when scaled in IE7 -
   code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

/* addresses margins set differently in IE7 */
dl,
menu,
ol,
ul {
  margin: 1em 0;
}
dd {
  margin: 0 0 0 2em;
}

/* remove margins from nested lists */
dl dl,
ul ul,
ol ol {
  margin: 0;
}

/* addresses paddings set differently in IE7 */
menu,
ol,
ul {
  padding: 0 0 0 2em;
}


button,
input,
select,
textarea {
  font-size: 16px !important;
  margin: 0;
}

/* colour placeholder text (Webkit and Mozilla only, so far) */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #888;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #888;
}

/* suppress red glow that Firefox adds to form fields by default, even when user is still typing
   add focus glow on form elements and kill phantom spacing and dotted border that appears in Firefox */
button:invalid,
a.button:invalid,
input:invalid,
input[type="button"]:invalid,
input[type="reset"]:invalid,
input[type="submit"]:invalid,
textarea:invalid {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
button::-moz-focus-inner,
a.button::-moz-focus-inner,
input::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
textarea::-moz-focus-inner {
  border: 0;
  padding: 0;
}
button:focus,
a.button:focus,
input:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
select:focus,
textarea:focus {
  -webkit-box-shadow: 0 0 7px #0066ff;
  -moz-box-shadow: 0 0 7px #0066ff;
  box-shadow: 0 0 7px #0066ff;
  /* Opera */
  z-index: 1;
}

  /* remove inner padding and search cancel button in webkit on OS X */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

input[type="file"]:focus,
input[type="file"]:active,
input[type="radio"]:focus,
input[type="radio"]:active,
input[type="checkbox"]:focus,
input[type="checkbox"]:active {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

textarea,
input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"] {
  /* remove iOS Safari default styling */
  -webkit-appearance: none;
  font-family: 'IBM Plex Sans' !important;
  font-size: 16px;
  line-height: 22px; 
  text-align: left;
  border: solid 1px #888;
  padding: .5em;
  background: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -moz-border-radius: 0;
  border-radius: 0;
}

input[type="color"] {
  padding: 0;
  height: 2.33333333333333em;
}

[role="complementary"] input[type="search"] {
  margin-right: 2px;
  width: 66.666666666667%;
  display: inline-block;
  /* display and zoom IE7 fix for display:inline-block */
  *display: inline;
  *zoom: 1;
}

/* kill phantom spacing and dotted border that appears in Firefox */
optgroup::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* addresses box sizing set to content-box and excess padding in IE7-9 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  *height: 1em;
  *width: 1em;
}

/* make sure disable elements really are disabled */
button[disabled],
input[disabled],
input[type="button"][disabled],
input[type="reset"][disabled],
input[type="submit"][disabled],
select[disabled],
select[disabled] option,
select[disabled] optgroup,
textarea[disabled],
span.disabled {
  opacity: 1;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: -moz-none;
  user-select: none;
  border: solid 1px #d2d2d2 !important;
  text-shadow: none !important;
  color: #888888 !important;
  background: #eee !important;
  cursor: default !important;
  top: 0 !important;
}


/* Buttons
   ========================================================================== */

button,
[role] a.button,
span.disabled,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  /* remove iOS Safari default styling */
  -webkit-appearance: none;
  -webkit-background-clip: padding;
  -khtml-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  width: auto;
  overflow: visible;
  font-family: 'IBM Plex Sans' !important;
  font-size: 16px;
  line-height: 36px !important;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
  border: solid 1px #888;
  color: #888;
  background-color: #fff;
}

button:hover,
[role] a.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background-color: #669999;
  border: 1px solid #669999;
  color: #fff;
}


button:active,
[role] a.button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
  position: relative;
  top: 1px;
  color: #888;
  background-color: #fff;
}

html 
{
	height: 100%;
}

body 
{
	text-align: center;
	height: 100%;
        font-family: 'IBM Plex Sans' !important;
}

div 
{
	text-align: left;
}

#container 
{
	margin: 0 auto; 
}

.navigation 
{
	color: #888;
}

.navigation a:link 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #888; 
}

.navigation a:visited 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #888; 
}

.navigation a:focus 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #888; 
}

.navigation a:hover 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #669999; 
}

.navigation a:active 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #888; 
}

.navigation ul
{
        list-style-type: none; 
}


.navigationActive li
{
	color: #669999;
}

.navigationActive a:link 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #669999; 
}

.navigationActive a:visited 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #669999; 
}

.navigationActive a:focus 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #669999; 
}

.navigationActive a:active 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #669999; 
}

.commentsform
{
        font-family: 'IBM Plex Sans' !important;
        color: #888;
        font-size: 14px;
        line-height: 1.5 !important; 
}

.commentsform fieldset
{
        border: 1px solid #888;
}

.commentsform input 
{
        border: 1px solid #888;
        font-family: 'IBM Plex Sans' !important;
        color: #333;
        font-size: 14px; 
}

.commentsform textarea
{
        border: 1px solid #888;
        font-family: 'IBM Plex Sans' !important;
        color: #333;
        font-size: 16px; 
}

.comments
{
        font-family: 'IBM Plex Sans' !important;
        color: #333;
        font-size: 16px;
        line-height:140%;
}

.comments a:link 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #333;
}

.comments a:visited 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #333;
}

.comments a:focus 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #333;
}

.comments a:hover 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #888; 
}

.comments a:active 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #333;
}

.article
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 18px;
        color: #333; 
        line-height: 32px;
}

.article div 
{
        margin-bottom: 30px;
}

.article a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.article a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.article a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.article a:hover 
{ 
	cursor: pointer;	
	text-decoration: underline;
	color: #669999; 
}

.article a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}


.articleHeading
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 18px;
        line-height: 32px;
        color: #333;
}

.articleHeading div 
{
        margin-bottom: 30px;
        color: #333;
}

.articleHeading a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.articleHeading a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.articleHeading a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.articleHeading a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
	color: #669999; 
}

.articleHeading a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}


.articleTitle
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 25px;
        font-weight: bold;
        line-height: 38px;
        color: #333;
}

.articleTitle div 
{
        margin-bottom: 30px;
        color: #333;
}

.articleTitle a:link 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #333;
}

.articleTitle a:visited 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #333;
}

.articleTitle a:focus 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #333;
}

.articleTitle a:hover 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #669999; 
}

.articleTitle a:active 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #669999;
}

.articleAuthor
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 16px; 
        line-height: 24px;
        color: #888;
}

.articleAuthor a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.articleAuthor a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.articleAuthor a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.articleAuthor a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
	color: #669999; 
}

.articleAuthor a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.contact
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 16px;
        color: #333; 
        line-height: 28px;
}

.contact div 
{
        margin-bottom: 30px;
}

.contact a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.contact a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.contact a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.contact a:hover 
{ 
	cursor: pointer;	
	text-decoration: underline;
        color: #669999;
}

.contact a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}


.editorial
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 16px;
        color: #333; 
        line-height: 28px;
}

.editorial div 
{
        margin-bottom: 30px;
}

.editorial a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.editorial a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.editorial a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.editorial a:hover 
{ 
	cursor: pointer;	
	text-decoration: underline;
	color: #669999; 
}

.editorial a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}


.search
{
        font-family: 'IBM Plex Sans' !important;
        color: #333;
        font-size: 16px;
        line-height: 28px;
}

.search h3
{
        font-family: 'IBM Plex Sans' !important;
        color: #333;
        font-size: 20px;
        line-height: 36px;
        font-weight: bold;
}

.search h4
{
        font-family: 'IBM Plex Sans' !important;
        color: #333;
        font-size: 18px;
        line-height: 32px;
        font-weight: bold;
}

.search input 
{
        border: 1px solid #888;
        font-family: 'IBM Plex Sans' !important;
        color: #333;
        font-size: 16px; 
}

.search a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.search a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.search a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.search a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
	color: #669999; 
}

.search a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.editors
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 15px;
        color: #888; 
        line-height: 30px; 
}

.editors div
{
        height: 60px;
}

.editors a:link 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #888;
}

.editors a:visited 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #888;
}

.editors a:focus 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #888;
}

.editors a:hover 
{ 
	cursor: pointer;	
	text-decoration:none;
	color: #333; 
}

.editors a:active 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #888;
}

.imageInfo
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 16px; 
        line-height: 28px;
        color: #333;
        display: block;
        margin-bottom: -25px;
}

.imageInfo a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.imageInfo a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.imageInfo a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.imageInfo a:hover 
{ 
	cursor: pointer;	
	text-decoration: underline;
	color: #669999; 
}

.imageInfo a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}


.authorDetails
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 16px; 
        line-height: 28px;
        color: #333;
}

.authorDetails a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.authorDetails a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.authorDetails a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.authorDetails a:hover 
{ 
	cursor: pointer;	
	text-decoration: underline;
	color: #669999; 
}

.authorDetails a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.authorDetails p 
{ 
	margin-bottom: 25px;
}


.editorialLanguage
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 16px;
        color: #888;
        font-weight: bold;
}

.editorialLanguage a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.editorialLanguage a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.editorialLanguage a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.editorialLanguage a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
	color: #669999; 
}

.editorialLanguage a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.usercontrol
{
        display: inline-block;
        font-family: 'IBM Plex Sans' !important;
        font-size: 14px; 
        padding: 1px 3px 1px 3px; 
        color: #888; 
        background-color: #fff;
        border: 1px solid #888; 
        border-radius: 3px;
        text-align: center;
        cursor: pointer;
        height: 15px;
        line-height: 15px;
}

.usercontrol:hover
{
        border: 1px solid #669999; 
        background-color: #669999;
        color: #fff;
}

.usercontrol a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
}

.usercontrol a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
}

.usercontrol a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
}

.usercontrol a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #fff;
}

.usercontrol a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
}

.articlekeywords {
        font-family: 'IBM Plex Sans' !important;
        font-size: 16px;
        margin-top: 20px;
        margin-bottom: 20px;
        color: #333;
        line-height: 24px;
}

.articlekeywords a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.articlekeywords a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.articlekeywords a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.articlekeywords a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
	color: #fff;
        background: #669999;  
}

.articlekeywords a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}


.pagination
{
        font-family: 'IBM Plex Sans' !important;
        font-size: 16px; 
        line-height:32px;
        color: #333;
}

.pagination div 
{
        margin: 10px 0 80px 0;       
}

.pagination a:link 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.pagination a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.pagination a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}

.pagination a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
	color: #fff;
        background-color: #669999;
}

.pagination a:active 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #333;
}


.ourlinks  
{
        font-size: 16px;
        color: #555;
}

.ourlinks a:link 
{ 
        font-size: 16px;
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.ourlinks a:visited 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #888;
}

.ourlinks a:focus 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.ourlinks a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
        color: #669999;
}

.ourlinks a:active 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #888;
}

.doilink 
{
	font-family: 'IBM Plex Sans' !important;
        font-size: 16px;
        color:  #888;
}

.doilink a:link 
{ 
        font-size: 16px;
	cursor: pointer;	
	text-decoration:none;
        color:  #888;
}

.doilink a:visited 
{ 
	cursor: pointer;	
	text-decoration:none;
        color:  #888;
}

.doilink a:focus 
{ 
	cursor: pointer;	
	text-decoration:none;
        color: #669999;
}

.doilink a:hover 
{ 
	cursor: pointer;	
	text-decoration: none;
	color: #669999;
}

.doilink a:active 
{ 
	cursor: pointer;	
	text-decoration:none;
        color:  #888;
}

#cfp
{
        width: 120px; 
        height: 110px; 
        float: left; 
        cursor: pointer; 
}


/**
 * Tooltip Styles
 */

/* Base styles for the element that has a tooltip */
[data-tooltip],
.tooltip {
  position: relative;
  cursor: pointer;
}

/* Base styles for the entire tooltip */
[data-tooltip]:before,
[data-tooltip]:after,
.tooltip:before,
.tooltip:after {
  position: absolute;
  visibility: hidden;
  border-radius: 3px; 
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: 
      opacity 0.2s ease-in-out,
        visibility 0.2s ease-in-out,
        -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
    -moz-transition:    
        opacity 0.2s ease-in-out,
        visibility 0.2s ease-in-out,
        -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
    transition:         
        opacity 0.2s ease-in-out,
        visibility 0.2s ease-in-out,
        transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform:    translate3d(0, 0, 0);
  transform:         translate3d(0, 0, 0);
  pointer-events: none;
}

/* Show the entire tooltip on hover and focus */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after,
[data-tooltip]:focus:before,
[data-tooltip]:focus:after,
.tooltip:hover:before,
.tooltip:hover:after,
.tooltip:focus:before,
.tooltip:focus:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

/* Base styles for the tooltip's directional arrow */
.tooltip:before,
[data-tooltip]:before {
  z-index: 1001;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

/* Base styles for the tooltip's content area */
.tooltip:after,
[data-tooltip]:after {
  z-index: 1000;
  padding: 8px;
  width: 160px;
  background-color: #333;
  background-color: hsla(0, 0%, 20%, 0.9);
  color: #f5f5f5;
  content: attr(data-tooltip);
  font-size: 14px;
  font-family: 'IBM Plex Sans' !important;
  line-height: 1.2;
}

/* Directions */

/* Top (default) */
[data-tooltip]:before,
[data-tooltip]:after,
.tooltip:before,
.tooltip:after,
.tooltip-top:before,
.tooltip-top:after {
  bottom: 100%;
  left: 50%;
}

[data-tooltip]:before,
.tooltip:before,
.tooltip-top:before {
  margin-left: -6px;
  margin-bottom: -12px;
  border-top-color: #333;
  border-top-color: hsla(0, 0%, 20%, 0.9);
}

/* Horizontally align top/bottom tooltips */
[data-tooltip]:after,
.tooltip:after,
.tooltip-top:after {
  margin-left: -80px;
}

[data-tooltip]:hover:before,
[data-tooltip]:hover:after,
[data-tooltip]:focus:before,
[data-tooltip]:focus:after,
.tooltip:hover:before,
.tooltip:hover:after,
.tooltip:focus:before,
.tooltip:focus:after,
.tooltip-top:hover:before,
.tooltip-top:hover:after,
.tooltip-top:focus:before,
.tooltip-top:focus:after {
  -webkit-transform: translateY(-12px);
  -moz-transform:    translateY(-12px);
  transform:         translateY(-12px); 
}

/* Left */
.tooltip-left:before,
.tooltip-left:after {
  right: 100%;
  bottom: 50%;
  left: auto;
}

.tooltip-left:before {
  margin-left: 0;
  margin-right: -12px;
  margin-bottom: 0;
  border-top-color: transparent;
  border-left-color: #333;
  border-left-color: hsla(0, 0%, 20%, 0.9);
}

.tooltip-left:hover:before,
.tooltip-left:hover:after,
.tooltip-left:focus:before,
.tooltip-left:focus:after {
  -webkit-transform: translateX(-12px);
  -moz-transform:    translateX(-12px);
  transform:         translateX(-12px); 
}

/* Bottom */
.tooltip-bottom:before,
.tooltip-bottom:after {
  top: 100%;
  bottom: auto;
  left: 50%;
}

.tooltip-bottom:before {
  margin-top: -12px;
  margin-bottom: 0;
  border-top-color: transparent;
  border-bottom-color: #333;
  border-bottom-color: hsla(0, 0%, 20%, 0.9);
}

.tooltip-bottom:hover:before,
.tooltip-bottom:hover:after,
.tooltip-bottom:focus:before,
.tooltip-bottom:focus:after {
  -webkit-transform: translateY(12px);
  -moz-transform:    translateY(12px);
  transform:         translateY(12px); 
}

/* Right */
.tooltip-right:before,
.tooltip-right:after {
  bottom: 50%;
  left: 100%;
}

.tooltip-right:before {
  margin-bottom: 0;
  margin-left: -12px;
  border-top-color: transparent;
  border-right-color: #333;
  border-right-color: hsla(0, 0%, 20%, 0.9);
}

.tooltip-right:hover:before,
.tooltip-right:hover:after,
.tooltip-right:focus:before,
.tooltip-right:focus:after {
  -webkit-transform: translateX(12px);
  -moz-transform:    translateX(12px);
  transform:         translateX(12px); 
}

/* Move directional arrows down a bit for left/right tooltips */
.tooltip-left:before,
.tooltip-right:before {
  top: 3px;
}

/* Vertically center tooltip content for left/right tooltips */
.tooltip-left:after,
.tooltip-right:after {
  margin-left: 0;
  margin-bottom: -16px;
}

:focus {
  outline: 0 !important;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}

input[name="q"] {
  border-right: none !important;
}

span[data-rel="self"] {
  color: #fff;
  background-color: #669999;
}