
	.animate {opacity: 0;}
	.animate-prime {opacity: 0;}

	.fade-in-bottom {
		-webkit-animation: fade-in-bottom 0.9s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
		        animation: fade-in-bottom 0.9s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	}



	/**
	 * ----------------------------------------
	 * animation fade-in-bottom
	 * ----------------------------------------
	 */
	@-webkit-keyframes fade-in-bottom {
	  0% {
	    -webkit-transform: translateY(50px);
	            transform: translateY(50px);
	    opacity: 0;
	  }
	  100% {
	    -webkit-transform: translateY(0);
	            transform: translateY(0);
	    opacity: 1;
	  }
	}
	@keyframes fade-in-bottom {
	  0% {
	    -webkit-transform: translateY(50px);
	            transform: translateY(50px);
	    opacity: 0;
	  }
	  100% {
	    -webkit-transform: translateY(0);
	            transform: translateY(0);
	    opacity: 1;
	  }
	}

	.ibm-parent-site-name {
	    min-width: 112px;
	}


.ibm-background-gray-70 {background-color:#464646;}
.ibm-background-gray-80 {background-color:#323232}
.ibm-background-gray-90 {background-color:#121212;}

.ibm-textcolor-gray-80 {color:#323232;}
a.ibm-textcolor-blue-60-alpha { color:#0062ff }
a.ibm-textcolor-blue-60-alpha:hover {color:#0354e9;}
.ibm-textcolor-blue-70-alpha {color:#0354e9;}
.ibm-background-blue-60-alpha { background-color:#0062ff }
.ibm-background-blue-70-alpha {background-color:#0354e9;}

.opacity-none {opacity: 0;}
.opacity-one {opacity: 1;}

.no-max {max-width: none !important;}
.float-left {float:left;}
















/* NAVIGATION */


    .ibm-mobilemenu .cloud-mega {
      display: none; }

    .ibm-mobilemenu .cloud-mega-mobile {
      display: block; }
      .ibm-mobilemenu .cloud-mega-mobile p {
        padding: 7px 20px 7px 30px; }

    .ibm-sitenav-menu-container .cloud-mega-mobile {
      display: none; }

    .ibm-sitenav-menu-container #cloud-mega {
      width: 100vw;
      border: none; }
      .ibm-sitenav-menu-container #cloud-mega .duo-subnav {
        margin: 0; }
        .ibm-sitenav-menu-container #cloud-mega .duo-subnav a {
          padding: 0;
          margin-bottom: 1rem; }
          .ibm-sitenav-menu-container #cloud-mega .duo-subnav a:hover {
            background-color: transparent;
            text-decoration: underline; }
        .ibm-sitenav-menu-container #cloud-mega .duo-subnav > .ibm-col-group > .ibm-col-md-1 {
          min-height: 250px; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-name a:after {
      background: #000; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-name a:hover, .ibm-sitenav-menu-container .ibm-sitenav-menu-name a:focus {
      color: #e5e5e5; }
      .ibm-sitenav-menu-container .ibm-sitenav-menu-name a:hover:after, .ibm-sitenav-menu-container .ibm-sitenav-menu-name a:focus:after {
        background: #000; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-list ul.ibm-align-right {
      right: -7px; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-list li ul:not(#cloud-mega) {
      color: #fff;
      background-color: #171717;
      border: none;
      padding-bottom: 20px; }
      .ibm-sitenav-menu-container .ibm-sitenav-menu-list li ul:not(#cloud-mega) li {
        padding: 1.51515vw 4rem 0 0; }
        .ibm-sitenav-menu-container .ibm-sitenav-menu-list li ul:not(#cloud-mega) li:last-of-type {
          padding-bottom: 10px; }
        .ibm-sitenav-menu-container .ibm-sitenav-menu-list li ul:not(#cloud-mega) li a:hover {
          background-color: transparent;
          text-decoration: underline; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-active > button, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-active > span, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-active > a {
      color: #fff;
      background-color: #171717;
      border-bottom: 1px solid #8a8a8a; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > button:hover, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > button:focus, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > span:hover, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > span:focus, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > a:hover, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > a:focus {
      color: #fff;
      /*background-color: #171717*/;
      border-bottom: 3px solid #0f6eff; }
      .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > button:hover::after, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > button:focus::after, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > span:hover::after, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > span:focus::after, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > a:hover::after, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > a:focus::after {
        display: none; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > button::after, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > span::after, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li > a::after {
      display: none; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li a:not(.duo-btn-pri) {
      padding: 0 20px;
      margin: 0; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-haschildlist button, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-haschildlist span, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-haschildlist a {
      margin: 0;
      cursor: pointer;
      font-size: 1rem;
      padding: 0 35px 0 20px;
      position: relative; }
      .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-haschildlist button:before, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-haschildlist span:before, .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li.ibm-haschildlist a:before {
        right: 10px; }

    .ibm-sitenav-menu-container .ibm-sitenav-menu-list > ul > li:last-of-type a:not(.duo-btn-pri) {
      display: none; }

    .ibm-mobilemenu-sitenavmenu .duo-subnav {
      display: none; }

    .ibm-mobilemenu-sitenavmenu > ul > li .duo-btn-pri {
      display: none; }

    .ibm-mobilemenu-sitenavmenu > ul > li:not(.duo-btn-pri) {
      display: block; }



      #ibm-home a:before {
      color: #000;
      font-size: 60px;
      line-height: 65px;
      text-indent: 0;
      top: 10px;
      visibility: hidden
  }

  #ibm-home a,
  .ibm-ibmlogo-link {
      background-image: url(https://www.ibm.com/standards/web/images/masthead-ibm-logo-24px-2x.png);
      background-size: 85%;
      background-position: center;
      background-repeat: no-repeat
  }

  .dr-masthead-divider {
      width: 1px;
      float: left;
      height: 26px;
      background-color: #bebebe;
      margin-top: 12px;
      margin-right: 19px
  }

  .ibm-sitenav-menu-list>ul>li>button,
  .ibm-sitenav-menu-list>ul>li>span,
  .ibm-sitenav-menu-list>ul>li>a {
      border: 0;
      box-sizing: border-box;
      display: inline-block;
      height: 48px;
      line-height: 50px;
      margin-left: 25px
  }

  .ibm-sitenav-menu-list>ul>li>button,
  .ibm-type .ibm-sitenav-menu-list>ul>li>span,
  .ibm-type .ibm-sitenav-menu-list>ul>li>a {
      font-family: "ibm-plex-sans", "Helvetica Neue", Arial, sans-serif;
      font-weight: 100;
      font-size: .9rem!important
  }

  .ibm-parent-site-name {
      min-width: 112px
  }

  @media only screen and (max-width:1140px) {
      #q {
          width: 110px
      }
  }

  @media only screen and (max-width:1056px) {
      .ibm-sitenav-menu-list {
          display: none
      }
      #q {
          width: 85%
      }
  }

  @media only screen and (max-width:759px) {
      .ibm-parent-site-name {
          display: block!important
      }
  }


  @media only screen and (max-width:369px) {
      .ibm-parent-site-name {
          display: none !important;
      }
  }



  @media only screen and (max-width:400px) {


      #ibm-home {
          float: left;
          margin-left: 15px;
          overflow: hidden;
          position: relative;
      }


			.dr-home { font-size: .95em; }

  }



  .research-nav-link {
      color: #323232;
      background-color: #fff;
      display: block;
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      padding-top: 8px !important;
      padding-bottom: 8px !important;
      padding-left: 8px !important;
      cursor: pointer;
      -webkit-transition: background-color .5s;
      transition: background-color .5s
  }

  .research-nav-link:hover {
      text-decoration: none;
      background-color: #f3f3f3
  }

  .research-nav-subtitle {
      padding-left: 8px;
      border-bottom: solid thin #bebebe;
      min-height: 120px
  }

  .research-nav-subtitle-linkbox {
      padding-left: 8px;
      padding-top: 8px;
      border-bottom: solid thin #bebebe;
      min-height: 50px;
      background-color: #fff;
      color: #323232;
      -webkit-transition: background-color .5s;
      transition: background-color .5s;
      cursor: pointer
  }

  .ai-forward-arrow {
      color: #323232
  }

  .research-nav-subtitle-linkbox:hover {
      background-color: #f3f3f3!important;
      text-decoration: none!important
  }

  .research-nav-subtitle-linkbox:hover .ai-forward-arrow {
      color: #0062ff!important
  }

  .nolink {
      cursor: default!important
  }

  .nolink .ai-forward-arrow {
      visibility: hidden
  }

  .nolink:hover {
      background-color: #ffffff!important
  }

  .dr-home {
      color: #323232!important
  }

  .research-nav-item {
      color: #323232!important;
      background-color: none
  }

  #ibm-masthead {
      height: 49px
  }

  #nav-shade {
      display: none;
      width: 100%;
      height: 100vh;
      position: fixed;
      z-index: 54;
      background-color: rgba(0, 0, 0, .85)
  }

  .ibm-research-nav-selected::after {
      bottom: 0;
      content: '';
      display: block;
      height: 4px;
      left: 0;
      position: absolute;
      -ms-transform: translate(0, 4px);
      transform: translate3d(0, 4px, 0);
      transition: transform .4s cubic-bezier(.4, 1, .4, 1);
      width: 100%;
      -ms-transform: translate(0, 0);
      transform: translate3d(0, 0, 0)!important;
      background-color: #0062ff!important
  }

  .extended-menu {
      display: none;
      width: 100%;
      background-color: #fff;
      z-index: 55;
      position: fixed;
      padding-bottom: 48px;
      padding-top: 48px;
      left: 0
  }


	.research-nav-subtitle-linkbox-alt {
	    padding-left: 8px;
	    padding-top: 8px;
	    border-bottom: solid thin #bebebe;
	    min-height: 150px;
	    background-color: #fff;
	    color: #323232;}
