/*
 Theme Name:   Quic.cloud
 Theme URI:    https://quic.cloud
 Template:     generatepress
 Version:      0.1
 Text Domain: qc
*/

body {
	font-family: Manrope, Lato, sans-serif;
}

/* fit footer to bottom always */

/* base functionality */
body {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	height: 100vh;
}

.site {
	flex-grow: 1;
}

/* fixes */
body.admin-bar {
	height: calc(100vh - 35px);
}

/* for logged in users to not have vertical scrolls */
html {
	height: fit-content;
}

/* not supported in some browsers but cannot hurt to fit the root too */
.container.grid-container {
	width: 100%;
}

/* fix to allow for container width set in customizer to keep working */

h1,
h2,
p {
	margin-bottom: 1.2rem;
}

h3,
h4 {
	margin-bottom: 1rem;
}

code {
	padding: 2px 4px;
	font-size: 90%;
	color: #c7254e;
	background-color: #f9f2f4;
	border-radius: 4px;
}

pre code {
    white-space: normal;
}

.site-content a:not(.elementor-button):hover {
	text-decoration: underline;
}

.site-content ul li,
.site-content ol li {
	margin-bottom: 0.5rem;
}

.qc-dark-section h1,
.qc-dark-section h2,
.qc-dark-section h3,
.qc-dark-section h4 {
	color: #EFEFEF;
}

.qc-dark-section p,
.qc-dark-section li {
	color: rgba(255, 255, 255, 0.7);
}


.qc-box-shadow {
	box-shadow: 0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, .03), 0px 3px 0px 0px rgba(0, 0, 0, .07);
}

.qc-border-box,
.qc-box {
	font-size: 1rem;
	box-shadow: 0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, .03), 0px 3px 0px 0px rgba(0, 0, 0, .07);
	border-radius: 6px;
	background: #fff;
	padding: .75rem 2.5rem;
	overflow: hidden;
}

.qc-border-box {
	border: 1px solid #e7e7e7;
}

.qc-border-box-with-img {
	box-shadow: 0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, .03), 0px 3px 0px 0px rgba(0, 0, 0, .07);
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}

.qc-border-box-img {
	margin-left: -2.5rem;
	margin-top: -0.75rem;
	margin-bottom: -0.75rem;
	padding-left: 2.5rem;
}

.qc-border-box-img--reverse {
	padding-left: 0;
}

.qc-border-box-content {
	padding: .75rem 2.5rem;
}

.qc-text-gradient {
	background: -webkit-linear-gradient(135deg, #00ad93, #1f739e 65%, #1d479b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 800;
}

.qc-text-gradient-2 {
	background: -webkit-linear-gradient(130deg, #ff2a91, #2295d8 60%, #161f29);

	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 800;
}

@media (max-width: 1023px) {

	.qc-border-box,
	.qc-border-box-content {
		padding: .25rem 1.5rem;
	}

	.qc-border-box-img:not(.qc-border-box-img--reverse) {
		padding-left: 1.5rem;
	}

	.qc-border-box-img {

		margin-left: -1.5rem;
		margin-top: -0.25rem;
		margin-bottom: -0.25rem;

	}
}

@media (max-width: 767px) {

	.qc-border-box,
	.qc-border-box-content {
		padding: 0rem 1rem;
	}

	.qc-border-box-img {
		padding-left: 1rem;
		margin-left: -1rem;
		margin-right: -1rem;
		margin-top: 0;
		margin-bottom: 0;
		width: calc(100% + 2rem);
	}

	.site-content .inside-article .qc-box {
		margin: -2em -30px 0 -30px;
		width: calc(100% + 60px);
		max-width: none;
	}
}

.qc-svg-icon-color svg path {
	fill: #5efffc;
}

/* NAVIGATION */

.main-navigation.has-branding .inside-navigation {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

#primary-menu>ul>li:first-child {
	margin-left: -20px;
}

#primary-menu>ul>li:last-child {
	margin-right: -20px;
}

#site-navigation .navigation-branding,
#sticky-navigation .navigation-branding {
	padding-right: 20px;
}

@media (max-width: 1150px) {

	#site-navigation .navigation-branding,
	#sticky-navigation .navigation-branding {
		margin-left: 0;
	}
}

@media (max-width: 350px) {

	.navigation-branding img,
	.site-logo.mobile-header-logo img {
		height: 50px;
	}
}

.current-menu-item a {
	position: relative;
}

.main-navigation .main-nav ul li.menu-item-has-children>a {
	z-index: 100000;
}

#primary-menu>ul>li>a:after {
	content: '';
	position: absolute;
	bottom: 3px;
	left: 50%;
	background: #66ccca;
	width: calc(100% - 34px);
	z-index: 2;
	transform: translate(-50%, 0);
	transition: .25s;
	height: 0;
	opacity: 0;
}

#primary-menu>ul>li>a:hover:after,
#primary-menu>ul>li>a:focus:after,
#primary-menu>ul>li.current-menu-item>a:after,
#primary-menu>ul>li:hover>a:after,
#primary-menu>ul>li[class*="current-menu-"]>a:after {
	height: 3px;
	opacity: 1;
}

#primary-menu ul ul li a:hover {
	color: #161f29;
	background: rgb(223, 223, 223);
}

#primary-menu ul ul li[class*="current-menu-"]>a {
	color: #161f29;
	background: #d6d6d6;
}

#primary-menu ul ul li[class*="current-menu-"]:first-child>a,
#primary-menu ul ul li:first-child a:hover {
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}

#primary-menu ul ul li[class*="current-menu-"]:last-child>a,
.main-navigation .main-nav ul ul li:last-child a:hover {
	border-bottom-left-radius: 0.25rem;
	border-bottom-right-radius: 0.25rem;
}

#primary-menu ul ul li a {
	font-weight: 500;
	color: #161f29;
}

#primary-menu ul ul {
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
	width: 14rem;
	color: #222;
	border-radius: 0.25rem;
	overflow: hidden;
	border: 1px solid #d0d0d0;
	margin-top: -3px;
	padding: 0.5rem;
}

.main-navigation ul ul li:not(:last-child) {
	border-bottom: 1px solid #00000012;
}

.nav-icon svg {
	vertical-align: middle;
	height: 1.2rem;
}

#primary-menu>ul>li.nav-cta a {
	color: #67ccca;
	background: transparent;
	border-color: #67ccca;
	box-shadow: 0px 2px 0px 0px #67ccca;
	font-weight: 600;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	line-height: 1;
	padding: 12px 24px;
	border-radius: 3px;
}

#primary-menu>ul>li.nav-cta a:hover {
	background: #21a29f21;
}

#primary-menu>ul>li.nav-cta a:after {
	display: none;
}

#generate-slideout-menu.main-navigation .main-nav ul ul {
	background: #0000002b;

}

#generate-slideout-menu.main-navigation .main-nav ul ul a {
	padding-left: 2rem;
}

#generate-slideout-menu .slideout-menu li[class*="current-menu-"]>a {
	position: relative;
}

#generate-slideout-menu .slideout-menu li[class*="current-menu-"]>a:before {
	content: '';
	position: absolute;
	border-left: 3px solid #66ccca;
	left: 0;
	height: 60%;
	top: 20%;
}

#generate-slideout-menu .main-nav>ul>li>a {
	line-height: 50px;

}

.main-navigation.has-branding button.menu-toggle {
	background: none;
	border: none;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 0.1em;
	padding: 0;
}

span.qc-external-icon {
	background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-external-link%22%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%3E%3C%2Fpath%3E%3Cpolyline%20points%3D%2215%203%2021%203%2021%209%22%3E%3C%2Fpolyline%3E%3Cline%20x1%3D%2210%22%20y1%3D%2214%22%20x2%3D%2221%22%20y2%3D%223%22%3E%3C%2Fline%3E%3C%2Fsvg%3E);
	background-size: cover;
	width: 0.65em;
	height: 0.65em;
	display: inline-block;
	opacity: 0.5;
	position: absolute;
	margin-top: 0.15em;
	margin-left: 0.25em;
}

.footer-widgets span.qc-external-icon {
	background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23b2b2be%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-external-link%22%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%3E%3C%2Fpath%3E%3Cpolyline%20points%3D%2215%203%2021%203%2021%209%22%3E%3C%2Fpolyline%3E%3Cline%20x1%3D%2210%22%20y1%3D%2214%22%20x2%3D%2221%22%20y2%3D%223%22%3E%3C%2Fline%3E%3C%2Fsvg%3E);
}

/* FOOTER */

#footer-widgets .widget {
	font-size: 0.92rem;
}

#footer-widgets .widget-title {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.2em;
}

#footer-widgets .wp-block-button .wp-block-button__link {
	background-color: #5EFFFC;
	border-color: #00D0CB;
	box-shadow: 0px 2px 0px 0px #00D0CB;
	color: #161f29;
	font-weight: 600;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	font-size: 14px;
	padding: 10px 20px;
	border-radius: 3px;
}

.footer-widgets ul.cnss-social-icon li:not(.cn-fa-x) a {
	width: 32px !important;
	height: 32px !important;
	padding: 0 !important;
	line-height: 32px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
}

.footer-widgets ul.cnss-social-icon li i {
	font-size: 20px !important;

}

.footer-widgets ul.cnss-social-icon li img {
	height: 34px;
	width: auto;
	border-radius: 10%;
	margin: 0 !important;
}

#footer-widgets .widget.widget_cnss_widget ul {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

#footer-widgets .widget.widget_cnss_widget a {
	display: block;
}

.footer-widgets a:hover {
    color: #e9e9e9;
    text-decoration: underline;
}


/* STRUCTURE */

.full-width-content .container.grid-container {
	padding-bottom: 1.5rem;
}

/* ELEMENTOR ADJUSTMENTS */

.elementor-element p:last-child,
.elementor-element ul:last-child,
.elementor-element ol:last-child {
	margin-bottom: 0;
}

.elementor-element .elementor-button {
	box-shadow: 0px 2px 0px 0px #00539F;
}

.elementor-element .elementor-button:hover {

	box-shadow: 0px 2px 0px 0px #032544;
}

.elementor-element.elementor-button-info .elementor-button {
	background-color: #5EFFFC;
	border-color: #00D0CB;
	box-shadow: 0px 2px 0px 0px #00D0CB;
	color: #161f29;
	font-weight: 600;
}

.elementor-element.elementor-button-info .elementor-button:hover {
	background: #21a29f21;
	color: #5EFFFC;
}

.elementor-element.elementor-button-danger .elementor-button {
	background: #c1302d;
	box-shadow: 0px 2px 0px 0px #961513;
	border-color: #961513;
}

.elementor-element.elementor-button-danger .elementor-button:hover {
	background: #961513;
	box-shadow: 0px 2px 0px 0px #590908;
	border-color: #590908;
}

.elementor-element.elementor-button-warning .elementor-button {
	background-color: #ec9304;
	box-shadow: 0px 2px 0px 0px #d77c14;
	border-color: #b97221;
}

.elementor-element.elementor-button-warning .elementor-button:hover {
	background-color: #cf8002;
	box-shadow: 0px 2px 0px 0px #ac630e;
	border-color: #c67211;
}

.elementor-element.elementor-button-outline .elementor-button:not(:hover) {
	color: #20629E;
	background: #fff;
}

.elementor-element.elementor-button-outline-info .elementor-button {
	color: #5EFFFC;
	background: transparent;
	border-color: #00D0CB;
	box-shadow: 0px 2px 0px 0px #00D0CB;
	font-weight: 600;
}

.elementor-element.elementor-button-outline-info .elementor-button:hover {
	background: #21a29f21;

}

/* ELEMENTOR TABS */
.e-n-tabs-content {
	font-size: 1rem;
}

.e-n-tabs-content>div {
	/*box-shadow: 0 0.275rem 0.75rem -0.0625rem rgba(0, 0, 0, .06), 0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, .03); */
	box-shadow: 0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, .03), 0px 3px 0px 0px rgba(0, 0, 0, .07);
	border-radius: 6px;
	border-top-left-radius: 0;
	background: #fff;
	border: 1px solid #e7e7e7;
}

.elementor-widget-n-tabs .e-n-tabs-heading {

	font-weight: 600;
}

.elementor .elementor-element.elementor-widget-n-tabs>.elementor-widget-container>.e-n-tabs>.e-n-tabs-heading .e-n-tab-title[aria-selected=true],
.elementor .elementor-element.elementor-widget-n-tabs>.elementor-widget-container>.e-n-tabs[data-touch-mode=true]>.e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover {
	background: #fff;
	color: inherit;
}

.elementor-widget-n-tabs .e-n-tab-title {
	border: 1px solid #e7e7e7;
	border-bottom: 0;
}

.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false] {
	background: none;

}

@media (min-width: 768px) {
	.elementor-widget-n-tabs .e-n-tab-title[aria-selected=true]:after {
		content: '';
		position: absolute;
		top: 100%;
		height: 3px;
		width: 100%;
		background: #fff;
		z-index: 10;
		margin-top: -1px;
		left: 0;
	}
}

.elementor .elementor-element.elementor-widget-n-tabs>.elementor-widget-container>.e-n-tabs[data-touch-mode=false]>.e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover {
	background-color: #fdfcfc;
	color: inherit;
}

.elementor-widget-n-tabs .e-n-tab-title {

	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	box-shadow: rgba(0, 0, 0, 0.06) 0px 0.275rem 0.75rem -0.0625rem, rgba(0, 0, 0, 0.03) 0px 0.125rem 0.4rem -0.0625rem;

}

@media (max-width: 767px) {
	.e-n-tabs-content>div {
		border-top-right-radius: 0;
	}

	.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false] {
		border-bottom-right-radius: 6px;
		border-bottom-left-radius: 6px;
	}
}

/* EA ELEMENTOR TABLES */
.eael-data-table tbody tr td,
.eael-data-table thead tr th {
	padding: 1rem;
}

.eael-dt-th-align-left .eael-data-table thead tr th {
	font-size: 0.864rem;
	font-weight: 600;
}

.eael-data-table tbody>tr:nth-child(2n) td:first-child,
.eael-data-table thead>tr th:first-child {
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

.eael-data-table tbody>tr:nth-child(2n) td:last-child,
.eael-data-table thead>tr th:last-child {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

.elementor-element .eael-data-table tbody tr td,
.elementor-element .eael-data-table thead tr th {
	font-family: inherit;
}

.eael-data-table .td-content small {
	font-size: 80%;
}

@media (max-width: 767px) {
	.eael-data-table tbody tr td {
		padding: 0.5rem;
	}

	.eael-data-table tbody tr td:first-child {
		padding-top: 0.75rem;
	}

	.eael-data-table tbody tr td:last-child {
		padding-bottom: 0.75rem;
	}

	.th-mobile-screen {
		font-weight: 600;
		text-align: left;
		line-height: 1.2;
		padding-left: 0.5rem;
	}

	.eael-data-table .td-content {
		text-align: center;
	}


	.eael-data-table tbody>tr td:not(:last-child) {
		border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	}

	.eael-data-table tbody>tr td:first-child .th-mobile-screen+.td-content {
		font-weight: bold;
		flex-wrap: wrap;
	}

	.eael-data-table tbody>tr td:first-child .th-mobile-screen+.td-content small {
		font-weight: normal;
		width: 100%;
		display: block;
		padding-top: 0.25rem;

	}

	.eael-data-table tbody>tr td:first-child .td-content-wrapper {
		padding-top: 0.5rem;
		align-items: flex-end;
	}

}

.site-content .elementor-icon-list-item a:not(.elementor-button):hover {
	text-decoration: none;
}

.elementor-icon-list-item a:hover .elementor-icon-list-text {
	text-decoration: underline;
}

.elementor-widget .elementor-icon-list-item .elementor-icon-list-text a,
.elementor-widget .elementor-icon-list-item .elementor-icon-list-text a {
	display: inline;
}


/* ELEMENTOR ICON BOX */

.elementor-mobile-position-left.elementor-widget-icon-box .elementor-icon-box-wrapper {
	align-items: center;
}

.elementor-mobile-position-left.elementor-widget-icon-box .elementor-icon-box-wrapper .elementor-icon-box-content {
	padding-bottom: 4px;
}

.elementor-view-stacked .elementor-icon {
	background-color: #FFFFFF;
	box-shadow: 0 3px 0px 1px #EDEDED;
}

.elementor-view-stacked .elementor-icon {
	font-size: 3.5rem;
	padding: 1.5rem;
}

.elementor-position-top.elementor-view-stacked .elementor-icon {
	font-size: 3rem;
}

.elementor-position-top.elementor-view-stacked .elementor-icon-box-description {
	font-size: 0.94rem;
}

@media (min-width: 768px) {
	.elementor-view-stacked.elementor-shape-circle.elementor-widget-icon {
		--flex-grow: 1;
		--flex-shrink: 0;
	}
}

@media (max-width: 1023px) {

	.elementor-view-stacked .elementor-icon {
		font-size: 3rem;
		padding: 1rem;
	}


}

/* NETWORK MAP */
.cdn-network-map {
	text-align: center;
}

.cdn-network-map svg {
	max-width: 1460px;
	pointer-events: none;
}

.cdn-network-map circle {
	fill: #3D404D;
}

.cdn-network-map .active-node {
	fill: #66CCCC;
	stroke-width: 0.75rem;
	stroke: #66CCCC80;
}

/* NETWORK MAP POPS */


.pops-list-region {
	-webkit-column-break-inside: avoid;
	break-inside: avoid
}

.pops-list-region h3 {
	margin-top: 0;
	margin-bottom: 0.5em;
	font-size: 1.4rem;
}

.pops-list-region li {
	list-style: none;
	margin-left: 0;
	padding-left: 0
}

.pops-list-region ul {
	margin-left: 0;
	padding-left: 0;
	font-size: 0.925rem;
	margin-bottom: 1.5rem !important;

}

@media (min-width: 578px) {
	#pops-list {
		-webkit-column-count: 3;
		column-count: 3
	}
}


/* FAQ */

.faq-page h2,
.faq-page h3,
.faq-page h4 {
	font-weight: 700;
}

.faq-page.common-page>.row .grid-parent,
.faq-page.common-page>.row .mobile-grid-100 {
	float: none;
	padding: 0;
}

.faq-page.common-page {
	box-shadow: 0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, .03), 0px 3px 0px 0px rgba(0, 0, 0, .07);
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
	padding: 3rem;
}

.faq-page h2[id]>span {
	background: #fff;
}

@media (min-width: 768px) {
	.faq-page.common-page>.row {
		display: flex;
	}


	.faq-page a.scroll-top svg {
		height: 1.2rem;
		vertical-align: text-top;
		width: auto;
		margin-right: 0.5rem;
	}
}


/* BLOG */

.single-post .site,
.archive .site,
.blog .site {
	padding: 3rem 0;
}

article.post {
	box-shadow: 0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, .03), 0px 3px 0px 0px rgba(0, 0, 0, .07);
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}

.one-container:not(.page) article.post .inside-article {
	padding: 2.5rem;
}

.one-container:not(.page) article.post .inside-article .post-image,
.one-container:not(.page) article.post .inside-article .page-header-image-single {
	margin: -2.5rem -2.5rem 2.5rem -2.5rem;
}


article.post h3,
article.post h4 {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

article.post {
	font-size: 16px;
	margin-bottom: 3rem;
}

article.post h2 {
	margin-top: 2rem;
	margin-bottom: 1.5rem;
}

.sidebar .widget {
	font-size: 0.92rem;
	box-shadow: 0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, .03), 0px 3px 0px 0px rgba(0, 0, 0, .07);
	border-radius: 5px;
}

body:not(.elementor-template-full-width) .grid-container {
	max-width: calc(1140px + 3rem);
}

.one-container:not(.elementor-template-full-width) .site-content {
	padding-left: 0;
	padding-right: 0;
}

.one-container:not(.elementor-template-full-width) .site.grid-container.grid-parent {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.inside-right-sidebar h3 {
	margin-bottom: 1.5rem;
}

div#comments {
	font-size: 0.92rem;
}

.comment-content {
	background: #fff;
	border-radius: 5px;
}

.comment .children {
	border-bottom-left-radius: 5px;
}