/* Styles for the Application Server

   developer:  yhechler
   requires:   /common/framework/css/framework.en.css
   ========================================================================== */

:root {
	--gap-col: 14px;
	/* white gutter between columns */
	--gap-top: 12px;
	/* top white gap above row 1 */
	--border-gray: #cccccc;
	/* row dividers */
	--bar-orange: #f87818;
	--bar-red: #dd1100;
	--bar-brown: #b70e00;
	/* brown bar */
	--bar-w: 6px;
	/* colored bar width */
	--cell-pad-x: 16px;
	--cell-pad-y: 10px;
	--cell-bg: #f4f4f4;
	--header-border: 2px;
	--header-background: #999999;
	--group-sep: 12px;
}
html {
	color: #535353;
	font-family: 'Source Sans Pro', Arial, sans-serif !important;
}
.container {
	margin: 0 auto;
	max-width: 75rem;
	padding: 3.725rem 2rem;
	width: 100%;
}
.container a {
	color: #dd1100;
	font-weight: 400;
}
.container a:hover {
	color: #f57300;
}
.container a.button {
	background: #d10;
	border-radius: 3px;
	border: 1px solid #d10;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 1.125rem;
	line-height: 1;
	margin: 2.5rem 0 0;
	padding: 10px 20px;
}
.container a.button:hover {
	background: #f80000;
	color: #fff;
}
.header-container img {
	width: 100%;
	max-width: 1097px;
}
.header-container {
	padding-top: 3.75rem;
}
#header {
	background: linear-gradient(to bottom, #fafafa 0%, #efefef 100%);
}
#hero {
	margin: 2rem auto 0 auto;
	display: flex;
	justify-content: center;
}
#header h1 {
	color: #333333;
	font-size: 3.375rem;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
}
#header .compute-services {
	color: #dd1100;
	display: inline-block;
	white-space: nowrap;
}
main h2 {
	color: #dd1100;
	font-size: 1.75rem;
	font-weight: 400;
	margin-bottom: .5rem;
	border-top: 1px solid #ccc;
}
main h2+p {
	font-size: 1.3rem;
	line-height: 1.6;
}
main #key-features h2 {
	color: #fff;
	font-size: 1.75rem;
	margin-bottom: 1.5rem;
}
main p {
	color: #404040;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}
main p.announcement-blog {
	color: #dd1100;
	font-size: 1.125rem;
	font-weight: 600;
	padding-top: 1.25rem;
}
main p.announcement-blog:hover {
	color: #f57300;
}
.intro {
	color: #535353;
	font-size: 2rem;
	font-weight: 300;
	padding-top:.5rem;
}
.section-hero {
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.6;
}
.sub-title {
	color: #404040;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: normal;
	line-height: 1.45;
	margin: 2rem 0rem .75rem;
}
.content {
	padding-left: 1.5rem;
}
#key-features {
	background: #dd1100;
	color: #fff;
}
#key-features .cgrid div.wrapper div {
	padding-right: .25rem;
}
#key-features .cgrid h3 {
	color: #333;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.22;
	margin: 0 0 0.25rem;
}
#key-features .cgrid {
  display: grid;
  grid-template-columns: 1fr 1fr; 
  gap: 2rem;
  align-items: stretch; 
}
#key-features .cgrid > div { 
  height: 100%;
}
#key-features .cgrid .wrapper {
  display: grid;    
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 1rem;
  background: #fff;
  padding: 1.5rem;
  height: 100%;
}
#key-features .cgrid .wrapper> :last-child {
	min-width: 0;
}
#key-features .cgrid p {
	margin: 0;
	overflow-wrap: anywhere;
}
#key-features .cgrid img {
	height: auto;
}
.red-bullets {
	list-style: none;
	padding: 1.5rem 0 0 1.25em;
	margin: 0;
}

.red-bullets li {
	color: #404040;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.61;
	margin-bottom: .5rem;
	position: relative; /* allows positioning the pseudo-element */
}

.red-bullets li::before {
	content: "\25A0";
	color: #dd1100;
	position: absolute;
	left: -1rem;
	top: 50%;
	transform: translateY(-50%); /* vertically center */
	font-size: 0.4rem;
	line-height: 1;
}
a.quote {
    display: inline-block;
    font-size:1.125rem;
    font-weight:600;
    padding-top: 1.25rem;
}
#technology-integration {
	background: #f57300;
}
#technology-integration .container {
	border-top: none;
}
/* table styles
   ================================== */

main .styled-table {
	border-collapse: collapse;
	width: 100%;
}

main .styled-table th:nth-child(1),
main .styled-table td:nth-child(1) {
  width: 80%;
}

main .styled-table th:nth-child(2),
main .styled-table td:nth-child(2) {
  width: 20%;
}

main .styled-table caption {
	caption-side: bottom;
	text-align: left;
}
main .styled-table tr:not(:first-child) {
	border: 1px solid #9a9a9a;
}
main .styled-table tr:first-child td {
    padding: 0 1.25rem;
}
main .styled-table td {
	color: #222;
	font-weight: 600;
	padding: .9375rem 1.25rem;
}
main .styled-table #_country-picker {
    float: left;
    width: unset;
}
main .styled-table .red {
	color: var(--desktop-red);
	font-size: 1.25rem;
	font-weight: 600;
	margin-right: .25rem;
}
main .styled-table .providers {
	color: #898989;
	font-weight: 400;
}
main .styled-table small {
	font-size: .7rem;
	white-space: nowrap;
	color: #222;
	margin-left: 0.25rem;
}
/* ---- Grid container ---- */

.chart-header#basic {
	color: #dd1100;
}
.chart-header#basic,.chart-header#basic h3 > span,
.chart-header#memory,.chart-header#memory h3 > span,
.chart-header#compute,.chart-header#compute h3 > span {
	color: #dd1100;
}
.chart-header::not(first-child) {
	color: #fff;
	padding: .75rem 0;
	margin: 1.875rem 0 0 0;
}
.chart-header h3 {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 40px 0 4px 0;
}

.chart-header span {
	color:#404040;
	font-size: 1.125rem;
	font-weight: 400;
	display: inline-block;
}
.chart-header h3 + span{
	margin-bottom:.75rem;
}
.grid-sched {
	background: transparent;
	column-gap: 5px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 0;
	row-gap: 0;
	padding-left:5px;
}
.grid-sched.basic,
.grid-sched.memory,
.grid-sched.compute{
	border-left:5px solid #dd1100;
}

/* ---- Cells ---- */

.grid-sched .cell {
	background: #f4f4f4;
	border-bottom: 1px solid var(--border-gray);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	padding: var(--cell-pad-y) var(--cell-pad-x);
	position: relative;
	text-align: center;
}
.grid-sched .header {
	background: #e1e1e1;
	border-bottom: 5px solid #fff;
	color: #404040;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.33;
}
.grid-sched .cell:nth-child(4n + 1) {
	text-align: left;
}
.grid-sched .cell:nth-child(4n + 1):not(.grid-sched .cell.header) {
	font-weight: 600;
}
.grid-sched .cell::not(first-child) {
	background: #f4f4f4;
	border-bottom: 1px solid var(--border-gray);
	position: relative;
}
.grid-sched .cell:nth-last-child(-n+4) {
	border-bottom: none;
}
.grid-sched.pricing-table{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-sched.pricing-table .cell:first-child{
	text-align:left;
}
.grid-sched.pricing-table .cell:nth-child(11n), .grid-sched.pricing-table .cell:nth-child(12n){
	margin-top: 5px;
}
.bar-grid {
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2rem;
	max-width: 100%;
	display: none;
}
.bar-grid>div {
	border: 2px solid #ccc;
	padding: 1.5rem;
}
.bar-grid>div:first-child {
	border-top: 10px solid #f87818;
}
.bar-grid>div:first-child h3 {
	color: #f87818;
}
.bar-grid>div:nth-child(2n) {
	border-top: 10px solid #eb450c;
}
.bar-grid>div:nth-child(2n) h3 {
	color: #eb450c;
}
.bar-grid>div:nth-child(3n) {
	border-top: 10px solid #dd1100;
}
.bar-grid>div:nth-child(3n) h3 {
	color: #dd1100;
}
.bar-grid span {
	color: #404040;
	font-size: 1.125rem;
	font-weight: 400;
}
.bar-grid h3 {
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 0.5rem;
}
.bar-grid p {
	border-top: 1px solid #ccc;
	padding: 1.5rem 0 0;
	margin: 1.5rem 0 0;
}
.qa-container {
	column-count: 2;
	column-gap: 1.875rem;
}
.qa-container>div {
	break-inside: avoid;
	margin-bottom: 1.875rem;
}
.qa-columns {
	display: flex;
	gap: 1.875rem;
}
.qa-column {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}
.qa-column>div {
	display: grid;
	grid-template-rows: auto 1fr;
}
.qa-container h3 {
	color: #333;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.222;
	margin-bottom: .25rem;
}
#stay-in-complete-control-of-your-compute-cost h2 {
	padding-top: 3.175rem;
}
#qa h2 {
	padding-top: 3.175rem;
}
/* ==========================================================================
  Sticky footer
========================================================================== */

#cta {
	background: #f86300;
	bottom: 0;
	color: #fff;
	font-size: 1.25rem;
	position: fixed;
	width: 100%;
	z-index: 999999999;
}
#cta:hover {
	background: #f88900;
}
#cta-content {
	color: #fff;
}
#cta-content>div {
	height: 3.75rem;
}
#cta-content a {
	color: #ffffff;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.18rem;
}
/* ==========================================================================
   other sections
   ========================================================================== */

#pricing .buy-credits-button {
	background-color: var(--desktop-orange);
	color: #fff;
	display: inline-block;
	margin: 2rem 0;
	padding: .5rem 1.25rem;
}
#pricing .buy-credits-button:hover {
	background-color: var(--desktop-red);
}
#_country-picker-wrapper {
	/* max-width: 780px; */
}
.vat-note {
	font-size: .8125rem;
	font-weight: 400;
	text-align: right;
	/* padding-right: 0.9rem; */
	/* max-width: 780px; */
}
.thousand-per-price {
	margin-left: 0.5rem;
	color: #404040;
	font-weight: 400;
	font-size: 0.875rem;
}
.thousand-per-price + small {
	color:#404040;
	font-size: 0.75rem;
	font-weight: 400;
}
.load-wrapper {
	border-radius: 5px;
	margin: 0;
	padding: 0;
	text-align: center;
}
.load .square {
	display: inline-block;
	animation-name: loading;
	animation-duration: 1.6s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
.square {
	color: #777;
	float: left;
	font-size: 8px;
}
.compact-prices .square {
	color: #fff;
}
.l-1 {
	animation-delay: 0.48s;
	margin-right: 4px;
}
.l-2 {
	animation-delay: 0.6s;
	margin-right: 4px;
}
.l-3 {
	animation-delay: 0.72s;
}
@keyframes loading {
	0% {
		opacity: 0;
		transform: scale(0.5, 0.5);
	}
	100% {
		opacity: 1;
		transform: scale(1.2, 1.2);
	}
}

.grid-sched.pricing-table .cell{
	font-weight: 600;
}
.grid-sched.pricing-table .cell.header{
	font-weight:400;
} 
.grid-sched.pricing-table .cell:nth-child(n) {
    text-align: left;
}
.grid-sched.pricing-table .cell:nth-child(2n) {
    text-align: center;
}
.grid-sched .cell:nth-last-child(-n+4) {
    /* border-bottom: 1px solid #ccc; */
}
/* ==========================================================================
   responsive breakpoint styles
   ========================================================================== */

/* styles for large screens less than (1200px)
   ========================================================================== */

@media all and (max-width: 1200px) {
	#key-features .cgrid div.wrapper {
		height: 100%;
	}
}
/* styles for medium screens (900px)
   ========================================================================== */

@media all and (max-width: 900px) {
	#key-features .cgrid div.wrapper {
		padding: 1.25rem 1.25rem 1.5rem 1.25rem;
	}
}
/* styles for small screens (600px)
   ========================================================================== */

@media all and (max-width: 600px) {
	#hero {
		margin-top: 1.5rem;
	}
	.container {
		padding: 1.125rem 2rem;
	}
	#keynotes .container {
		padding: 2.125rem 2rem;
	}
	.header-container {
		padding-top: 2.5rem;
	}
	.red-bullets li{
		line-height:1.3;
		margin-bottom: .75rem;
	}
	.red-bullets li::before {
		top: 1.5em;
		transform: none;
	}
	.intro {
		font-size: 1.5rem;
		max-width: 300px;
		margin: 0 auto;
	}
	main h2 {
		padding-top: 2.125rem;
	}
	.grid-sched {
		grid-template-columns: 2fr repeat(3, 1fr);
	}
	.qa-container {
		column-count: 1;
	}
	.qa-container>div {
		margin-bottom: 1.5rem;
		gap: 1.5rem;
	}
	.bar-grid {
		grid-template-columns: 1fr;
	}
	#key-features .cgrid {
		grid-template-columns: 1fr;
		/* row-gap: 0; */
		margin-bottom: 1rem;
		/* gap: 1rem; */
		grid-auto-rows: unset;
	}
	#key-features .cgrid div.wrapper {
		height: auto;
	}
	#key-features .cgrid div.wrapper div:first-child {
		width: 60px;
	}
	.footer {
		padding: 0 .5rem;
		text-align: left;
		width: 100%;
	}
	#cta {
		text-align: center;
	}
	#cta-content a {
		margin: 1.875rem auto 1.875rem auto;
		text-align: center;
		padding: 0 1rem;
	}
	:root {
		--cell-pad-x: 6px;
		--cell-pad-y: 5px;
	}
	.grid-sched .header {
		font-size: 0.9rem;
		font-weight: 600;
		line-height: 1.33;
	}
	#header h1 {
		color: #333333;
		font-size: 2.375rem
	}
}
/* styles for minimum supported screen width (320px)
   ========================================================================== */

@media all and (max-width: 320px) {
	#cta-content a {
		font-size: 1.0rem;
		margin: 1.875rem 0;
	}
	#header h1 {
		font-size: 2.5rem;
	}
}
/* printer styles
   ========================================================================== */

@media print {}