/* ---------- */
/* 1. General */

#siteNotice, #firstHeading {
	display: none !important;
}

#mw-content-text h3 {
    padding: .24em 0 !important;
    color: #333;
    margin-top: 1.1em;
    margin-bottom: 0.9em;
	font-size: 17px;
	font-weight: bold;
	border: none;
}

.sections-wrapper h2 {
	font-size: 30px !important;
	text-align: center;
	border-bottom: none;
	margin-bottom: 45px !important;
	overflow: visible;
}

.sections-wrapper h2 a {
	font-size: inherit !important;
}

.sections-wrapper p, .sections-wrapper a, .sections-wrapper span {
	font-size: 17px !important;
}

.mw-collapsible {
	padding-left: 0;
	padding-right: 0;
}

.inner-wrapper {
	margin-left: auto;
	margin-right: auto;
}

.image-wrapper {
	display: block;
	width: 100%;
	position: relative;
}

.section-features .image-wrapper,
.section-values .image-wrapper,
.section-upcoming .image-wrapper {
	padding-top: 70%;
}

.section-download .image-wrapper {
	padding-top: 40%;
}

.section-press .image-wrapper {
	padding-top: 45%;
}
	
.section-features .image-wrapper,
.section-values .image-wrapper {
	display: block;
	width: calc(100% + 36px);
	margin: -10px 0 0 -18px;
}

.col-container .image-wrapper img.image {
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

a:not(:hover) {
	color: #007bff;
}

a:hover {
	color: #0645ad;
}

/* 1.1. Dark Section */

.dark-section {
	background: #273445;
	color: white;
	text-align: center;
	padding: 1px 0 31px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw + 8px);
}

.dark-section > .inner-wrapper {
	max-width: 960px;
}

.dark-section h2, .dark-section p {
	color: white !important;
}

.dark-section a:not(.mw-collapsible-text) {
	color: #0AA1FF !important;
}

/* 1.2. Share Tooltip Modifications */

:not(#custom-footer .main-claim .headline) > .share-tooltip .button {
	width: 1.2em !important;
	height: 1.4em !important;
	padding-bottom: .2em !important;
	margin-bottom: -.3em !important;
	top: -.3em;
}

.dark-section .share-tooltip .button, .dark-section a.share-tooltip:not(.fully-enriched) {
	filter: brightness( 2 );
	margin-left: 8px;
}

.sections-wrapper > :not(.dark-section) .share-tooltip .button, .sections-wrapper > :not(.dark-section) a.share-tooltip:not(.fully-enriched) {
	filter: sepia(1) hue-rotate(169deg) saturate(4) brightness(0.85);
	margin-left: 8px;
}

/* 1.3. Col Container Modifications */

.col-container > * {
	transition: transform .3s;
}

.col-container.cc-3 > *:hover {
	transform: scale(1.05);
}

.col-container.justify > * p {
	text-align: justify;
}

.col-container > * h3 {
	text-align: center;
	font-weight: bold !important;
}

@media (max-width: 640px) {
	.col-container.cc-5 > * {
		flex: 0 0 23% !important;
	}
}

@media (max-width: 450px) {
	.col-container.cc-5 > * {
		flex: 0 0 31% !important;
	}
}

.section-download .col-container > div {
	width: 12%;
	margin: .5%;
}

.section-download .col-container > div a {
	background: #3C495A;
	display: block;
	width: 90%;
	border-radius: 20px;
	vertical-align: top;
	text-decoration: none;
	transition: transform .3s;
	padding: 1px;
}

.section-download .col-container > div a:hover {
	transform: scale(1.1);
}

.section-download .col-container > div a span {
	display: block;
	margin-top: 10px;
	color: white;
	text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;

}

@media (max-width: 900px) {
	.section-download .col-container > div {
		width: 14%;
	}
	.section-download .col-container > div i {
		height: 80px;
	}
}

@media (max-width: 700px) {
	.section-download .col-container > div {
		width: 22%;
	}
	.section-download .col-container > div i {
		height: 80px;
	}
}

@media (max-width: 420px) {
	.section-download .col-container > div {
		width: 40%;
	}
	.section-download .col-container > div i {
		height: 80px;
	}
}

.section-features .col-container > div,
.section-values .col-container > div {
	background: white;
	border-radius: 15px;
	padding: 10px 18px;
	box-shadow: 1px 1px 4px rgb(0 0 0 / 10%);
	transition: transform .3s;
	overflow: hidden;
	position: relative;
}

.section-features .col-container > div p:after,
.section-values .col-container > div p:after,
.section-upcoming .col-container > div span:not(.image-wrapper):after {
	content: ' ';
	background-image: url('/w/images/a/af/External-link.png');
	display: inline-block;
	width: 12px;
	height: 12px;
	background-size: contain;
	margin-left: 5px;
	filter: brightness(.7);
}
.section-upcoming .col-container > div span:not(.image-wrapper):after {
	filter: brightness(2);
}

.section-press .col-container > div {
	margin-bottom: 25px;
	flex: 0 0 25%;
	margin: 3% 4%;
}

.section-press .col-container > div img.image {
	padding: 0 30px 10px;
}

@media (max-width: 730px) {
	.section-press .col-container > div {
		flex: 0 0 37%;
	}
}

@media (max-width: 460px) {
	.section-press .col-container > div {
		flex: 0 0 82%;
	}
	
	.section-press .image-wrapper {
	    padding-top: 25%;
	}
	
	.section-press .col-container > div img.image {
		padding: 0 80px 0;
	}
}

.section-press .col-container > div:hover {
	transform: unset;
}

.section-press .col-container > div i  {
	height: 100px !important;
	margin-bottom: 15px;
	background-size: contain !important;
    display: block;
    background-repeat: no-repeat;
    background-position: center;
}

.section-press .col-container > div span {
	position: relative;
	display: inline-block;
}

.section-press .col-container > div span:not(.image-wrapper) {
	font-size: 15px !important;
}

.section-press .col-container > div span:not(.image-wrapper):before {
	content: '"';
	font-size: 48px;
	line-height: 34px;
	height: 22px;
	float: left;
	margin-right: 7px;
}

.section-press .col-container > div span a:not(.mw-collapsible-text) {
	background: #ddd;
	border-radius: 3px;
	padding: 0 2px;
	color: black;
	display: inline-block;
	text-decoration: none;
	margin: 0 5px;
}

.section-press .col-container > div span a:not(.mw-collapsible-text):hover {
	transform: scale(1.5);
}

.section-features .col-container .card-wrapper:focus,
.section-values .col-container .card-wrapper:focus {
	border: 1px solid black;
}

.section-features .col-container .card-wrapper.hash-target {
	background-color: #feffe9;
}

.section-features .col-container .card-wrapper > *,
.section-values .col-container .card-wrapper > * {
	text-decoration: none;
	display: block;
	cursor: pointer;
	border: none;
	outline: none;
}

/* 1.4. mw-collapsible Modifications */

.mw-collapsible {
	padding: 0 !important;
}

.mw-collapsible .mw-collapsible-toggle {
	margin: 14px 0 0 7px !important;
}

.mw-collapsible .mw-collapsible-toggle.mw-collapsible-toggle-expanded,
.mw-collapsible .mw-collapsible-toggle.mw-collapsible-toggle-expanded + h3
{
	display: none;
}

.mw-collapsible > h3 {
	background-color: #f7f7f7 !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 8px;
	position: relative;
	top: -6px;
	line-height: 32px;
    padding-top: 3px;
    text-align: center;
}

.dark-section .mw-collapsible > h3 {
	color: white !important;
	background-color: #525252 !important;
	border-color: #525252 !important;
}

/* 1.5. Section Modal */

.section-modal .content {
	background: white;
    padding: 30px 40px;
    border-radius: 10px;
    box-shadow: 3px 3px 7px rgb(0 0 0 / 30%)
}

.section-modal .content p {
    text-align: center;
    font-size: 17px !important;
}

.section-modal .content img {
	width: 100%;
	height: 400px;
	object-fit: contain;
}

/* 1.6. NoScript design correction */

#mw-content-text .__ns__pop2top {
	z-index: 10 !important;
}

/* ----------------- */
/* 2. Section Banner */

.section-banner {
	width: 100%;
	padding-bottom: 45px;
}

.section-banner .logo {
	text-align: center;
	width: 100%;
	max-width: 400px;
	display: block;
	margin: auto;
}

.section-banner .logo img {
	width: 100%;
}

.section-banner h2 {
	font-size: 25px !important;
}

.section-banner h2.slogan {
	margin: 10px 0 12px !important;
	font-size: 34px !important;
}

.section-banner .sub-slogan {
	text-align: center;
	font-size: 19px !important;
	margin: 0 !important;
}

.section-banner .call-to-action {
	background: #0053a3;
	color: white;
	text-decoration: none;
	display: block;
	padding: 11px 28px;
	width: max-content;
	font-weight: bold;
	margin: 20px auto 30px;
	border-radius: 100px;
}

.section-banner .call-to-action:hover {
	background: #1863ad;
    transform: scale(1.1);
}

.section-banner h2.learn-more {
	margin: 25px 0 !important
}

.section-banner .overview-image-and-video-player {
	width: 100%;
	padding-top: 56.25%;
	position: relative;
}

.section-banner #hide-overview-image,
.section-banner .overview-image,
.section-banner .overview-image-and-video-player video,
.section-banner .overview-image-and-video-player a.__NoScript_PlaceHolder__ {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
}

.section-banner .overview-image-and-video-player #hide-overview-image {
	height: 100%;
	cursor: pointer;
	z-index: 10;
	opacity: 0;
}

.section-banner .overview-image-and-video-player #hide-overview-image:checked,
.section-banner .overview-image-and-video-player #hide-overview-image:checked + .overview-image {
	display: none;
}

.section-banner .overview-image {
	padding-top: 56.25%;
	display: block;
	transition: opacity .5s, transform .5s;
	z-index: 5;
	position: relative;
	overflow: hidden;
}

.section-banner .overview-image-and-video-player #hide-overview-image:hover + .overview-image {
	transform: scale(1.01);
}

.section-banner .overview-image:after {
	background-image: url(/w/images/2/27/Play-symbol-v2.svg);
	background-position: center;
	background-size: 28%;
	content: ' ';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	background-repeat: no-repeat;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity .5s;
}

.section-banner .overview-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.section-banner .overview-image img.overview-image-preview {
	filter: blur(2.5vmax);	
}

.section-banner .overview-image-and-video-player #hide-overview-image:hover + .overview-image:after {
	opacity: 1;	
}

.section-banner .overview-image-and-video-player video,
.section-banner .overview-image-and-video-player a.__NoScript_PlaceHolder__ {
	height: 100% !important;	
}

html.client-js .section-banner .overview-image-and-video-player #hide-overview-image:not(:checked) ~ video {
	display: none;
}

.section-banner .overview-image-and-video-player a.__NoScript_PlaceHolder__ {
	z-index: 0 !important;
}

.section-banner p.explainer {
	max-width: 700px;
	width: fit-content;
	margin: auto;
	text-align: left;
	margin-top: 20px;
	font-size: 20px !important;
	background: #e8e8e8;
	padding: 15px 30px !important;
	position: relative;
	left: 5px;
}

/* ------------------- */
/* 3. Section Download */

.section-download {
	padding: 5px 60px 45px;
}

.section-download > .inner-wrapper > h2 {
	margin-bottom: 27px !important;
}

.section-download > .inner-wrapper > p {
	margin-bottom: 25px !important;
}

/* ----------------------- */
/* 3A. Section Competition */

.section-competition h2 {
	margin-top: 44px !important;
	margin-bottom: 38px !important;
}

.section-competition table {
	border-spacing: 3px;
	border-collapse: separate;
	margin: auto;
}
	
.section-competition table th,
.section-competition table td {
	background: white;
	padding: 12px 20px;
	font-size: 19px !important;
	border: 1px solid transparent;
}

.section-competition table th.empty,
.section-competition table td.empty {
	opacity: 0;
}

.section-competition table th.whonix.top {
	border-top-color: #007bff;
	font-weight: bold;
	border-radius: 10px 10px 0 0;
	padding: 12px 0;
}

.section-competition table th.vpn.top {
	border-radius: 10px 10px 0 0;
	padding: 12px 0;
}

.section-competition table th.cat {
	font-size: 15px !important;
	position: relative;
	text-align: left;
}

.section-competition table tr:not(.show-more) th.cat {
	padding-left: 62px;
}

.section-competition table tr.show-more th.cat {
	padding-left: 10px;
}

.section-competition table th.cat i {
	width: 42px;
	height: 42px;
	border-radius: 50px;
	background: #f6f3f4;
	text-align: center;
	padding-top: 11px;
	font-size: 20px;
	color: #444;
	position: absolute;
	left: 9px;
	top: calc( 50% - 21px );
	box-shadow: inset -1px 1px 3px rgb(0 0 0 / 10%)
}

.section-competition table td.whonix, .section-competition table td.vpn {
	text-align: center;
}

.section-competition table th.whonix,
.section-competition table td.whonix {
	background: #f7f7ff;
	border-color: transparent #007bff;
}

.section-competition table td.whonix.bottom {
	padding: 3px 4px;
	border-bottom-color: #007bff;
	border-radius: 0 0 10px 10px;
	overflow: hidden;
}

.section-competition table td.whonix.bottom a {
	font-weight: bold;
	font-size: 19px !important;
	display: block;
	text-decoration: none;
	width: 100%;
	transition: background-color .3s;
	background-color: #608de7;
	color: white;
	padding: 5px 10px;
	border-radius: 6px;
}

.section-competition table td.whonix.bottom a:hover {
	background: #3d64b3;
}

.section-competition table td.vpn.bottom {
	border-bottom-right-radius: 10px;
}

.section-competition table th.cat.top {
	border-top-left-radius: 10px;
}
.section-competition table th.cat.bottom {
	border-bottom-left-radius: 10px;
}

.section-competition table td img {
	position: relative;
	top: -2px;
}

.section-competition .info-tooltip {
	position: relative;
	top: 5px;
	margin-left: 4px;
	height: 40px;
	margin-bottom: -20px;
}

.section-competition .info-tooltip span {
	max-width: 283px;
	font-weight: normal;
    padding: 10px 15px;
    top: 38px;
    left: -15px;
}

.section-competition .info-tooltip span, .section-competition .info-tooltip a {
    font-size: 15px !important;
}

.section-competition .show-more {
	display: table-row;
	cursor: pointer;
}

.section-competition .show-more .cat {
	color: #0046D1;
}

.section-competition .show-more:hover .cat {
	color: #002561;
}

.section-competition .learn-more-vpns {
    background: #f7f7f7;
    text-align: center;
    margin-top: 36px !important;
    font-size: 19px !important;
	border-radius: 8px;
	border: 1px solid #e0e0e0;
	padding: 2px 0;
}

.section-competition .learn-more-vpns a {
    font-size: 19px !important;
    margin-left: 7px;
    color: #0046D1;
}

.section-competition .learn-more-vpns a:hover {
	color: #002561;
}

@media (max-width: 550px) {
	.section-competition table td {
		padding: 12px 5px;
	}
}

@media (max-width: 490px) {
	.section-competition table tr:not(.show-more) th.cat {
		padding: 12px 10px;
	}
	
	.section-competition table th.cat i {
		display: none;
	}
}

/* ---------------- */
/* 4. Section Press */

.section-press {
	text-align: center;
	padding: 53px 0 57px;
}

.section-press h2 {
	margin-top: 0 !important;
	margin-bottom: 35px !important;
}

@media (max-width: 460px) {
	.section-press {
		padding-top: 26px;
	}
	
	.section-press .inner-wrapper > h2 {
		margin-bottom: 0 !important;
	}
}

@media (max-width: 400px) {
	.section-press .inner-wrapper > div {
		margin-bottom: 40px !important;
	}
}

/* ------------------ */
/* 5. Section Explain */

.section-explain {
	padding: 1px 50px 10px;
	text-align: center;
}

.section-explain .inner-wrapper > * {
	max-width: 800px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.section-explain .illustration {
	background: #f6f3f4;
	border-radius: 30px;
	padding: 10px 10px 0;
	margin: auto;
	transition: transform .3s;
	cursor: pointer;
	display: block;
}

.section-explain .illustration:hover {
	transform: scale(1.05);
}

.section-explain .illustration img {
	width: 100%;
	height: auto;
}

.section-explain h2 {
	margin-bottom: 28px !important;
}
	
.section-explain p {
	position: relative;
	margin: 26px 0 31px !important;
}

.section-explain p, .section-explain p a {
	font-size: 20px !important;
}

/* ------------------- */
/* 6. Section Features */

.section-features  {
	margin-top: 10px;
	margin-bottom: 50px;
}

.section-features h2 {
	margin: 45px 0 32px !important;
}



/* -------------- */
/* 7. Section App */

.section-apps {
	padding: 10px 0 30px;
}

.section-apps h2 {
	margin: 0 0 48px !important;
}

.section-apps a {
	transition: transform .3s;
	text-align: center;
}

.section-apps a:hover {
	transform: scale(1.1);
	text-decoration: none;
}
	
.section-apps a span {
	color: #333 !important;
	display: block;
}

/* ----------------- */
/* 8. Section Values */

.section-values h2 {
	margin: 15px 0 !important;
}

/* ------------------- */
/* 9. Section Upcoming */

.section-upcoming {
	padding: 1px 60px 40px;
	margin-top: 40px;
	margin-bottom: 40px;
}

.section-upcoming a {
	text-decoration: none;
}

.section-upcoming a > span {
	color: white;
	margin-top: 15px;
	display: block;
}

.section-upcoming .enforce-kernel {
	background-color: #142132;
}

.section-upcoming .virus-forge {
	background-color: #142132;
}

/* -------------------- */
/* 10. Section Investor */

.section-investor {
	margin-top: 40px;
	margin-bottom: 40px;
	padding: 1px 10px 0;
	text-align: center;
}

.section-investor h2 {
	margin: 0 !important;
}

.section-investor p {
	margin-bottom: 30px !important;
}

.section-investor a.image-link img {
	transition: transform .3s;
	width: 100%;
	max-width: 750px;
}

.section-investor a.image-link img:hover {
	transform: scale(1.05);
}

/* -------- */
/* 11. Help */

.section-help {
	padding: 1px 10px 40px;
}

.section-help h2 {
	margin: 10px 0 22px !important;
}

.section-help a {
	display: block;
	max-width: 450px;
	text-align: center;
	margin: auto;
	transition: transform .3s;
}

.section-help a:hover {
	transform: scale(1.05);
}

.section-help img {
	width: 100%;
	margin-bottom: 20px;
}

/* ----------- */
/* Other Sizes */

@media (max-width: 500px) {
	.section-download, .section-upcoming {
		padding-left: 20px;
		padding-right: 20px;
	}
	.section-download .os {
		width: 45%;
	}
}