/* Large tablet and compact desktop screens: 960px through 1199.98px. */

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

.container,
.vps-max {
	width: calc(100% - 48px);
	max-width: none;
}

section {
	padding-top: 76px;
	padding-bottom: 76px;
}

h1 {
	font-size: 36px;
	line-height: 44px;
}

h2 {
	font-size: 26px;
	line-height: 36px;
}

/* Compact desktop header. */
.header {
	position: relative;
	z-index: 2000;
}

.header ul li {
	padding-right: 12px;
	padding-left: 12px;
}

.hero {
    font-size:15px;
    line-height:24px;
}

.header .button {
	padding-right: 14px;
	padding-left: 14px;
}


#main-navigation .nav-dropdown-menu {
	min-width: 205px;
}

@media (min-width: 992px) and (max-width: 1050px) {
	#header-buttons > li:first-child {
		display: none;
	}
}

/* The 960-991 portion of this file still uses the collapsible navigation. */
@media (max-width: 991.98px) {
	.header {
		padding: 17px 0;
		background: #fff;
	}

	.header .row {
		align-items: center;
	}

	.header-logo-col {
		flex: 1 1 auto;
	}

	.mobile-menu-col {
		display: block;
		margin-left: auto;
	}

	.mobile-menu-toggle {
		width: 44px;
		height: 44px;
		padding: 0;
		border: 1px solid #d5d5d5;
		border-radius: 6px;
		background: #fff;
		color: #111;
		font-size: 19px;
		line-height: 42px;
		cursor: pointer;
	}

	.header-nav-col,
	.header-actions-col {
		flex: 0 0 100%;
		order: 3;
		max-width: 100%;
		margin: 0 !important;
	}

	.header-actions-col {
		order: 4;
	}

	#main-navigation,
	#header-buttons {
		display: none;
		float: none;
		width: 100%;
	}

	.header.mobile-menu-open #main-navigation,
	.header.mobile-menu-open #header-buttons {
		display: block;
	}

	#main-navigation {
		margin-top: 15px;
		border-top: 1px solid #e3e3e3;
	}

	.header #main-navigation > li,
	.header #header-buttons > li {
		display: block;
		float: none;
		width: 100%;
		padding: 0;
		border-bottom: 1px solid #e3e3e3;
		line-height: normal;
	}

	.header #main-navigation > li > a {
		display: block;
		padding: 14px 4px;
	}

	.header #main-navigation > .nav-dropdown > a > i {
		float: right;
		margin-top: 5px;
	}

	.header #main-navigation .nav-dropdown-menu,
	.header #main-navigation .nav-dropdown:not(.submenu-open):hover > .nav-dropdown-menu,
	.header #main-navigation .nav-dropdown:not(.submenu-open):focus-within > .nav-dropdown-menu {
		position: static;
		display: none;
		min-width: 0;
		padding: 0 0 8px;
		border: 0;
		border-top: 1px solid #ededed;
		box-shadow: none;
	}

	.header #main-navigation .nav-dropdown.submenu-open > .nav-dropdown-menu {
		display: block;
	}

	.header #main-navigation .nav-dropdown-menu a {
		padding: 11px 16px;
	}

	#header-buttons {
		padding-top: 12px;
	}

	.header #header-buttons > li {
		margin-bottom: 10px;
		border: 0;
	}

	.header #header-buttons .button {
		display: block;
		width: 100%;
		text-align: center;
	}
}

/* Heroes */
.subhero {
	min-height: 390px;
	padding-top: 82px;
	padding-bottom: 82px;
	background-size: cover;
}

#banner-home {
	padding-top: 50px;
	padding-bottom: 50px;
}

.hero-map img {
	width: 100%;
}

.home-map-pin {
	--pin-line-width: 6px;
	width: 7px;
	height: 7px;
}

.home-map-pin-dot {
	width: 7px;
	height: 7px;
	box-shadow: 0 0 0 3px rgba(199, 12, 16, .08);
}

.home-map-pin-line {
	top: 3px;
	left: 3px;
	height: 1px;
}

.home-map-pin-label {
	top: 50%;
	left: calc(var(--pin-line-width) + 2px);
	min-height: 13px;
	height: 13px;
	padding: 0 0px 0 6px;
	font-size: 9px;
	line-height: 13px;
	transform: translateY(-50%);
}

.home-map-pin-label,
.home-map-pin-label:hover,
.home-map-pin--left .home-map-pin-label,
.home-map-pin--left .home-map-pin-label:hover,
.home-map-pin--above .home-map-pin-label,
.home-map-pin--above .home-map-pin-label:hover {
	background: transparent !important;
}

.hero-map .home-map-flag {
        flex: 0 0 11px;
        width: 11px;
        max-width: 11px;
        height: 13px;
        margin-right: 4px;
}

.home-map-pin--left .home-map-pin-line {
	right: 3px;
}

.home-map-pin--left .home-map-pin-label {
	right: calc(var(--pin-line-width) + 2px);
	padding-right:6px;
}

.home-map-pin--above .home-map-pin-line {
	bottom: 4px;
	left: 3px;
}

.home-map-pin--above {
	--pin-label-offset: 3px;
}

.home-map-pin--above .home-map-pin-label {
	left: 3px;
	min-height: 13px;
	height: 13px;
	padding: 0 0px 0 10px;
}

.home-map-pin--amsterdam .home-map-pin-label {
	margin-bottom: -15px;
}

.home-map-pin--warsaw .home-map-pin-label {
	margin-bottom: 12px;
}

.home-map-pin--left .home-map-flag {
	margin-right:5px;
}

.home-map-pin--us        { --pin-x: 9%; --pin-y: 35%; }
.home-map-pin--coventry  { --pin-x: 39%; --pin-y: 27%; }
.home-map-pin--amsterdam { --pin-x: 45.75%; --pin-y: 28.75%; 
        --pin-line-height: 21px; }
.home-map-pin--frankfurt { --pin-x: 43.75%; --pin-y: 32.63%; }
.home-map-pin--bucharest { --pin-x: 65%; --pin-y: 48%; }
.home-map-pin--sao-paulo { --pin-x: 19%; --pin-y: 72%; }
.home-map-pin--paris { --pin-x: 41.75%; --pin-y: 34.66%; }
.home-map-pin--warsaw { --pin-x: 50%; --pin-y: 29.5%; --pin-line-height: -18px; }
.home-map-pin--johannesburg { --pin-x: 57%; --pin-y: 83%; }
.home-map-pin--tokyo     { --pin-x: 98%; --pin-y: 45%;}
.home-map-pin--singapore { --pin-x: 93%; --pin-y: 69%; }
.home-map-pin--sydney    { --pin-x: 85%; --pin-y: 90%; }

/* Pricing and primary service cards */
#shared-pricing .cycle-list li {
	padding-right: 14px;
	padding-left: 14px;
}

.choose-location {
	margin-left: 25px;
}

.choose-location li:first-child {
	padding-right: 12px;
}

#shared-pricing .service-box-with-bottom,
#home-services .service-box-with-bottom {
	padding-right: 20px;
	padding-left: 20px;
}

#shared-pricing .plan-select {
	width: calc(100% + 40px);
	margin-right: -20px;
	margin-left: -20px;
	padding-right: 20px;
	padding-left: 20px;
}

#home-guarantees {
	margin-top: -30px !important;
	margin-bottom: -30px !important;
}

#home-guarantees .row {
	justify-content: center;
}
#home-guarantees .col-auto:nth-child(1) {
    display:none;
}

#home-guarantees .col-auto:nth-child(2) {
    padding-left:0px !important;
}

#home-guarantees .col-auto:nth-last-child(1) {
    padding-right:0px !important;
}
#home-guarantees .col-auto {
	max-width: 33.3333%;
	padding-right: 24px !important;
	padding-left: 24px !important;
}

.content {
	width: 410px;
}

/* Reviews and use cases */
#trustpilot-slider > .container > .row:first-child > .col-lg-2 {
	flex: 0 0 18%;
	max-width: 18%;
}

#trustpilot-slider > .container > .row:first-child > .col-lg-10 {
	flex: 0 0 82%;
	max-width: 82%;
}


#vps-use-cases > .container > .row > .col-lg-4 {
	flex: 0 0 31%;
	max-width: 31%;
}

#vps-use-cases > .container > .row > .col-lg-8 {
	flex: 0 0 69%;
	max-width: 69%;
}

/* Domain pages */
#domain-pricing .domain-filter-tabs li {
	padding-right: 16px;
	padding-left: 16px;
}

.domain-card {
	min-height: 235px;
	padding-right: 18px;
	padding-left: 18px;
}

#domain-management > .container > img {
	max-width: 100%;
}

/* Dedicated server filters and rows */
.filter-row li {
	padding-right: 12px;
	padding-left: 12px;
}

.filter-row select {
	padding-right: 38px;
}

.server-row {
	font-size: 13px;
	line-height: 21px;
}

.server-name      { flex-basis: 16%; }
.server-cpu       { flex-basis: 21%; }
.server-ram       { flex-basis: 10%; }
.server-storage   { flex-basis: 15%; }
.server-bandwidth { flex-basis: 14%; }
.server-price     { flex-basis: 11%; }
.server-order     { flex-basis: 13%; }

.server-order .button {
	font-size: 13px;
}

.service-copy {
	padding-right: 16px;
	padding-left: 16px;
}

/* VPS configurator */
.vps-scores {
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
}

.configurator-main {
	padding-right: 30px;
	padding-left: 30px;
}

.summary-inner {
	padding-right: 18px;
	padding-left: 18px;
}

.summary-inner h2,
.summary-inner h3 {
	font-size: 25px;
}

@media (max-width: 991.98px) {
	.configurator-main,
	.order-summary {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.configurator-main {
		border-right: 0;
	}

	.order-summary {
		border-top: 1px solid #ccc;
		border-right: 0;
	}

	.summary-inner {
		position: static;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 45px;
		padding: 40px;
	}

	.summary-inner > h3,
	.summary-inner > .button,
	.summary-inner > .price-divider,
	.summary-inner > .deal-row,
	.summary-inner > .total-price,
	.summary-inner > #billing-description {
		grid-column: 1 / -1;
	}
}

/* FAQ */
#faq > .container > .row > .col-lg-8 {
	flex: 0 0 68%;
	max-width: 68%;
}

#faq > .container > .row > .col-lg-4 {
	flex: 0 0 32%;
	max-width: 32%;
}

/* Map and datacenter layouts */
#locations-with-selector {
	min-height: 590px;
	padding: 72px 0;
}

#locations-with-selector .location-facility-card-inner {
	padding-right: 20px;
	padding-left: 20px;
}

#locations-with-selector .location-facility-group {
	margin-bottom: 20px;
}

@media (max-width: 991.98px) {
	#locations-with-selector .location-selector-content,
	#locations-with-selector .location-facility-card {
		flex: 0 0 100%;
		max-width: 100%;
	}

	#locations-with-selector .location-facility-card {
		margin-top: 45px;
	}

	#locations-with-selector .location-map-pin {
		display: none;
	}
}

.location-filters {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 24px;
}

.filter {
	min-width: 0;
	margin-right: 0;
	padding: 14px 16px;
}

.location-map .map-wrap {
	margin-top: 0;
}

.location-popup {
	width: max-content;
	max-width: 230px;
	padding: 11px 14px;
}

#datacenters .dc-col-left {
	flex: 0 0 31%;
	max-width: 31%;
}

#datacenters .dc-col-right {
	flex: 0 0 69%;
	max-width: 69%;
	padding-right: 40px;
	padding-left: 40px;
}

.dc-title {
	padding: 30px 34px;
}

.dc-title .dl-test {
	display: block;
	margin: 8px 0 0 !important;
}

.back-to-network {
	left: 40px;
}

/* The timeline already changes to its vertical layout at 1050px. */
@media (max-width: 1050px) {
	.timeline-section {
		padding-right: 0;
		padding-left: 0;
	}

	.panel-image {
		width: 100%;
	}
}

/* Footer */
.footer > .container > .row > .col-lg-4 {
	flex: 0 0 34%;
	max-width: 34%;
}

.footer > .container > .row > .col-8 {
	flex: 0 0 66%;
	max-width: 66%;
}

.copyright .row > .col-lg-6:first-child {
	flex: 0 0 42%;
	max-width: 42%;
}

.copyright .row > .col-lg-6:last-child {
	flex: 0 0 58%;
	max-width: 58%;
}


.center-vertically {
    left:0;
}



#banner-shared {background-image:linear-gradient(90deg, rgba(19,19,19,1) 0%, rgba(19,19,19,1) 32%, rgba(19,19,19,.95) 48%, rgba(19,19,19,.70) 62%, rgba(19,19,19,.24) 82%, rgba(19,19,19,.10) 100%),url('../images/banner-shared.png');background-position:center,center right;background-repeat:no-repeat;background-size:cover;background-color:var(--dark-bg);}
#banner-reseller {background:url('../images/banner-reseller.png') center right -400px no-repeat var(--dark-bg);}
#banner-dedicated {background:url('../images/banner-servers.png') center right -400px no-repeat var(--dark-bg);}
#banner-wordpress {background:url('../images/banner-wordpress.png') center right -400px no-repeat var(--dark-bg);}
#banner-domains {background:url('../images/banner-domains.png') center right -400px no-repeat var(--dark-bg);}
#banner-about {background:url('../images/banner-about.png') center right -400px no-repeat var(--dark-bg); min-height:auto !important;}
#banner-vps {background:url('../images/banner-vps.png') center right -400px no-repeat var(--dark-bg); min-height:auto !important;}

#home-cta {
    background: url(../images/support-cta@2x.png) center right no-repeat var(--dark-bg);
    background-size: 75%;
}

#server-pricing .label {
    font-size: 10px;
    line-height: 18px;
    height: 20px;
}

.server-row {
    padding: 28px 0px;
}

.hero br {
    display:none;
}

h3 br {
    display:none;
}
h3 {
    font-size: 20px;
    line-height: 32px;
}

.vertical-title {
    left:18px;
}

.legal-hero {
	min-height:auto;
}

.location-map .location-popup {
	width: 315px;
	max-width: 315px;
	padding: 14px;
}

.location-map .popup-network {
	font-size: 11px;
}

.location-map .map-wrap {
	--tablet-map-height: clamp(500px, 53.9vw, 635px);
	min-height: calc(var(--tablet-map-height) + 225px);
	aspect-ratio: auto;
	overflow: visible;
}

.location-map .map-outline {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--tablet-map-height);
	object-fit: contain;
}

.location-map .map-markers,
.location-map .map-connections {
	top: 0;
	right: 0;
	bottom: auto;
	left: 0;
	width: 100%;
	height: var(--tablet-map-height);
}

.location-map .location-popup,
.location-map .location-popup.popup-left,
.location-map .location-popup.popup-above,
.location-map .location-popup.popup-below,
.location-map .location-popup.popup-detached {
	top: auto !important;
	right: 12px !important;
	bottom: 12px !important;
	left: 12px !important;
	width: auto;
	max-width: none;
	padding: 16px;
	font-size: 14px;
}

.location-map .popup-city {
	font-size: 16px;
}

.location-map .popup-code {
	font-size: 10px;
}

.location-map .popup-network {
	font-size: 12px;
}

.location-map .popup-action {
	font-size: 12px;
}


.plan-select.flag-select-native + .flag-select-ui {
    width: calc(100% + 40px);
    margin: 25px -20px 20px -20px;
}
.plan-location-filter .plan-select.flag-select-native + .flag-select-ui .flag-select-button {
	padding-left:20px;
}