// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(function() {
var mode = CodeMirror.getMode({indentUnit: 2}, "swift");
function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
// Ensure all number types are properly represented.
MT("numbers",
"[keyword var] [def a] [operator =] [number 17]",
"[keyword var] [def b] [operator =] [number -0.5]",
"[keyword var] [def c] [operator =] [number 0.3456e-4]",
"[keyword var] [def d] [operator =] [number 345e2]",
"[keyword var] [def e] [operator =] [number 0o7324]",
"[keyword var] [def f] [operator =] [number 0b10010]",
"[keyword var] [def g] [operator =] [number -0x35ade]",
"[keyword var] [def h] [operator =] [number 0xaea.ep-13]",
"[keyword var] [def i] [operator =] [number 0x13ep6]");
// Variable/class/etc definition.
MT("definition",
"[keyword var] [def a] [operator =] [number 5]",
"[keyword let] [def b][punctuation :] [variable-2 Int] [operator =] [number 10]",
"[keyword class] [def C] [punctuation {] [punctuation }]",
"[keyword struct] [def D] [punctuation {] [punctuation }]",
"[keyword enum] [def E] [punctuation {] [punctuation }]",
"[keyword extension] [def F] [punctuation {] [punctuation }]",
"[keyword protocol] [def G] [punctuation {] [punctuation }]",
"[keyword func] [def h][punctuation ()] [punctuation {] [punctuation }]",
"[keyword import] [def Foundation]",
"[keyword typealias] [def NewString] [operator =] [variable-2 String]",
"[keyword associatedtype] [def I]",
"[keyword for] [def j] [keyword in] [number 0][punctuation ..][operator <][number 3] [punctuation {] [punctuation }]");
// Strings and string interpolation.
MT("strings",
"[keyword var] [def a][punctuation :] [variable-2 String] [operator =] [string \"test\"]",
"[keyword var] [def b][punctuation :] [variable-2 String] [operator =] [string \"\\(][variable a][string )\"]",
"[keyword var] [def c] [operator =] [string \"\"\"]",
"[string multi]",
"[string line]",
"[string \"test\"]",
"[string \"\"\"]",
"[variable print][punctuation (][string \"\"][punctuation )]");
// Comments.
MT("comments",
"[comment // This is a comment]",
"[comment /* This is another comment */]",
"[keyword var] [def a] [operator =] [number 5] [comment // Third comment]");
// Atoms.
MT("atoms",
"[keyword class] [def FooClass] [punctuation {]",
" [keyword let] [def fooBool][punctuation :] [variable-2 Bool][operator ?]",
" [keyword let] [def fooInt][punctuation :] [variable-2 Int][operator ?]",
" [keyword func] [keyword init][punctuation (][variable fooBool][punctuation :] [variable-2 Bool][punctuation ,] [variable barBool][punctuation :] [variable-2 Bool][punctuation )] [punctuation {]",
" [atom super][property .init][punctuation ()]",
" [atom self][property .fooBool] [operator =] [variable fooBool]",
" [variable fooInt] [operator =] [atom nil]",
" [keyword if] [variable barBool] [operator ==] [atom true] [punctuation {]",
" [variable print][punctuation (][string \"True!\"][punctuation )]",
" [punctuation }] [keyword else] [keyword if] [variable barBool] [operator ==] [atom false] [punctuation {]",
" [keyword for] [atom _] [keyword in] [number 0][punctuation ...][number 5] [punctuation {]",
" [variable print][punctuation (][string \"False!\"][punctuation )]",
" [punctuation }]",
" [punctuation }]",
" [punctuation }]",
"[punctuation }]");
// Types.
MT("types",
"[keyword var] [def a] [operator =] [variable-2 Array][operator <][variable-2 Int][operator >]",
"[keyword var] [def b] [operator =] [variable-2 Set][operator <][variable-2 Bool][operator >]",
"[keyword var] [def c] [operator =] [variable-2 Dictionary][operator <][variable-2 String][punctuation ,][variable-2 Character][operator >]",
"[keyword var] [def d][punctuation :] [variable-2 Int64][operator ?] [operator =] [variable-2 Optional][punctuation (][number 8][punctuation )]",
"[keyword func] [def e][punctuation ()] [operator ->] [variable-2 Void] [punctuation {]",
" [keyword var] [def e1][punctuation :] [variable-2 Float] [operator =] [number 1.2]",
"[punctuation }]",
"[keyword func] [def f][punctuation ()] [operator ->] [variable-2 Never] [punctuation {]",
" [keyword var] [def f1][punctuation :] [variable-2 Double] [operator =] [number 2.4]",
"[punctuation }]");
// Operators.
MT("operators",
"[keyword var] [def a] [operator =] [number 1] [operator +] [number 2]",
"[keyword var] [def b] [operator =] [number 1] [operator -] [number 2]",
"[keyword var] [def c] [operator =] [number 1] [operator *] [number 2]",
"[keyword var] [def d] [operator =] [number 1] [operator /] [number 2]",
"[keyword var] [def e] [operator =] [number 1] [operator %] [number 2]",
"[keyword var] [def f] [operator =] [number 1] [operator |] [number 2]",
"[keyword var] [def g] [operator =] [number 1] [operator &] [number 2]",
"[keyword var] [def h] [operator =] [number 1] [operator <<] [number 2]",
"[keyword var] [def i] [operator =] [number 1] [operator >>] [number 2]",
"[keyword var] [def j] [operator =] [number 1] [operator ^] [number 2]",
"[keyword var] [def k] [operator =] [operator ~][number 1]",
"[keyword var] [def l] [operator =] [variable foo] [operator ?] [number 1] [punctuation :] [number 2]",
"[keyword var] [def m][punctuation :] [variable-2 Int] [operator =] [variable-2 Optional][punctuation (][number 8][punctuation )][operator !]");
// Punctuation.
MT("punctuation",
"[keyword let] [def a] [operator =] [number 1][punctuation ;] [keyword let] [def b] [operator =] [number 2]",
"[keyword let] [def testArr][punctuation :] [punctuation [[][variable-2 Int][punctuation ]]] [operator =] [punctuation [[][variable a][punctuation ,] [variable b][punctuation ]]]",
"[keyword for] [def i] [keyword in] [number 0][punctuation ..][operator <][variable testArr][property .count] [punctuation {]",
" [variable print][punctuation (][variable testArr][punctuation [[][variable i][punctuation ]])]",
"[punctuation }]");
// Identifiers.
MT("identifiers",
"[keyword let] [def abc] [operator =] [number 1]",
"[keyword let] [def ABC] [operator =] [number 2]",
"[keyword let] [def _123] [operator =] [number 3]",
"[keyword let] [def _$1$2$3] [operator =] [number 4]",
"[keyword let] [def A1$_c32_$_] [operator =] [number 5]",
"[keyword let] [def `var`] [operator =] [punctuation [[][number 1][punctuation ,] [number 2][punctuation ,] [number 3][punctuation ]]]",
"[keyword let] [def square$] [operator =] [variable `var`][property .map] [punctuation {][variable $0] [operator *] [variable $0][punctuation }]",
"$$ [number 1][variable a] $[atom _] [variable _$] [variable __] `[variable a] [variable b]`");
// Properties.
MT("properties",
"[variable print][punctuation (][variable foo][property .abc][punctuation )]",
"[variable print][punctuation (][variable foo][property .ABC][punctuation )]",
"[variable print][punctuation (][variable foo][property ._123][punctuation )]",
"[variable print][punctuation (][variable foo][property ._$1$2$3][punctuation )]",
"[variable print][punctuation (][variable foo][property .A1$_c32_$_][punctuation )]",
"[variable print][punctuation (][variable foo][property .`var`][punctuation )]",
"[variable print][punctuation (][variable foo][property .__][punctuation )]");
// Instructions or other things that start with #.
MT("instructions",
"[keyword if] [builtin #available][punctuation (][variable iOS] [number 9][punctuation ,] [operator *][punctuation )] [punctuation {}]",
"[variable print][punctuation (][builtin #file][punctuation ,] [builtin #function][punctuation )]",
"[variable print][punctuation (][builtin #line][punctuation ,] [builtin #column][punctuation )]",
"[builtin #if] [atom true]",
"[keyword import] [def A]",
"[builtin #elseif] [atom false]",
"[keyword import] [def B]",
"[builtin #endif]",
"[builtin #sourceLocation][punctuation (][variable file][punctuation :] [string \"file.swift\"][punctuation ,] [variable line][punctuation :] [number 2][punctuation )]");
// Attributes; things that start with @.
MT("attributes",
"[attribute @objc][punctuation (][variable objcFoo][punctuation :)]",
"[attribute @available][punctuation (][variable iOS][punctuation )]");
// Property/number edge case.
MT("property_number",
"[variable print][punctuation (][variable foo][property ._123][punctuation )]",
"[variable print][punctuation (]")
MT("nested_comments",
"[comment /*]",
"[comment But wait /* this is a nested comment */ for real]",
"[comment /**** let * me * show * you ****/]",
"[comment ///// let / me / show / you /////]",
"[comment */]");
// TODO: correctly identify when multiple variables are being declared
// by use of a comma-separated list.
// TODO: correctly identify when variables are being declared in a tuple.
// TODO: identify protocols as types when used before an extension?
})();
html{background:none !important;min-height:100% !important;min-width:0 !important;height:auto !important;overflow-x:hidden}html.tve-html-editor{overflow-x:visible !important}.backstretch{display:none}#tcb_landing_page .float-left{float:left}#tcb_landing_page .float-right{float:right}.aligncenter{display:block;margin:10px auto}body{line-height:normal !important;letter-spacing:normal;height:auto !important;margin:0;overflow-x:hidden !important}body *{outline:none}body:before{display:none !important}body .scvps{margin:0 auto}body .tve_post_lp{min-width:285px}body .tve_post_lp .pddbg.in{max-width:100vw !important}body .tve_post_lp .scvps{max-width:100vw}body .wrp{width:auto}body .tve_wrap_all{background-size:cover;padding:0 0 10px 0}body h1,body h2,body h3,body h4,body h5,body h6{line-height:1em;letter-spacing:normal}body p{letter-spacing:normal;line-height:1.5em;margin-bottom:20px}body .wp-caption{border:0;background:none}body .wp-caption img{margin-bottom:0}body div .wp-caption{border:0}body .darkSec h1,body .darkSec h2,body .darkSec h3,body .darkSec h4,body .darkSec h5,body .darkSec h6,body .darkSec a,body .darkSec ul,body .darkSec ol,body .darkSec p{color:#333}body .darkSec p span{color:inherit}body .lightSec h1,body .lightSec h2,body .lightSec h3,body .lightSec h4,body .lightSec h5,body .lightSec h6,body .lightSec a,body .lightSec ul,body .lightSec ol,body .lightSec p{color:#fff}body .lightSec p span{color:inherit}.darkSec font span,.darkSec font a,.lightSec font span,.lightSec font a{color:inherit}.tve_lp_content:after,.tve_lp_header:after,.tve_lp_footer:after{content:"";display:block;clear:both;visibility:hidden;line-height:0;height:0}#tcb_landing_page .tve_shortcode_rendered .top,#tcb_landing_page .tve_shortcode_rendered .bottom{margin:0}.pddbg{background-size:cover;background-repeat:no-repeat}@media screen and (device-width: 768px) and (device-height: 1024px){.pdwbg,body.tve-lp-fixed{background-attachment:scroll !important;background-size:auto auto !important;background-position:center top !important}}@media screen and (device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2){.pdwbg,body.tve-lp-fixed{background-attachment:scroll !important;background-size:auto auto !important;background-position:center top !important}}@media screen and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2){.pdwbg,body.tve-lp-fixed{background-attachment:scroll !important;background-size:auto auto !important;background-position:center top !important}}@media screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2){.pdwbg,body.tve-lp-fixed{background-attachment:scroll !important;background-size:auto auto !important;background-position:center top !important}}iframe{max-width:100%}@media only screen and (min-device-width: 1024px) and (max-device-width: 1024px) and (min-device-height: 1366px) and (max-device-height: 1366px) and (min-width: 1366px) and (max-width: 1366px){body .tve_post_lp .pddbg.in{min-width:100vw}}.tve_p_lb_background{font-family:'Roboto'}@font-face{font-family:'rockstar_autoresponder';src:url("fonts/rockstar_autoresponder/rockstar_autoresponder.eot?nkhhqg");src:url("fonts/rockstar_autoresponder/rockstar_autoresponder.eot?#iefixnkhhqg") format("embedded-opentype"),url("fonts/rockstar_autoresponder/rockstar_autoresponder.woff?nkhhqg") format("woff"),url("fonts/rockstar_autoresponder/rockstar_autoresponder.ttf?nkhhqg") format("truetype"),url("fonts/rockstar_autoresponder/rockstar_autoresponder.svg?nkhhqg#icomoon") format("svg");font-weight:normal;font-style:normal}.tve_lg_dropdown{display:inline-block;position:relative;width:100%}.tve_lg_dropdown select{color:#fff !important;background-color:#202020;font-family:'Roboto';font-weight:300;font-size:26px !important;border:none !important;display:inline-block;margin:0;height:50px;border-radius:5px !important;appearance:none}.tve_lg_dropdown select.tve-lg-error{border-color:transparent !important;box-shadow:0 0 4px #a94442 inset !important}.tve_lg_dropdown:after{top:1px;right:1px;color:#fff;content:"\e602";background-color:#202020;font-size:22px;text-align:center;height:48px;width:50px;line-height:48px;pointer-events:none;position:absolute;font-family:'rockstar_autoresponder';border-radius:5px}.tve_lg_radio_wrapper{position:relative;padding:5px 20px 5px 0 !important;display:inline-block;width:auto !important}.tve_lg_radio_wrapper input[type="radio"]{left:0;margin:0;padding:0;position:absolute;top:0;z-index:5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";-moz-opacity:0;opacity:0;width:100%;height:100%;cursor:pointer}.tve_lg_radio_wrapper input[type="radio"]+label{position:relative;display:inline-block;font-size:22px !important;color:#fff;font-family:'Roboto';font-weight:300}.tve_lg_radio_wrapper input[type="radio"]+label:before{width:22px;height:22px;margin-right:10px;content:"";background-color:#202020;border:1px solid #0d0504;display:inline-block;vertical-align:middle;border-radius:100%}.tve_lg_radio_wrapper input[type="radio"]+label:after{width:16px;height:16px;background-color:transparent;position:absolute;top:7px;left:4px;content:"";border-radius:100%;transition:background-color 0.3s}.tve_lg_radio_wrapper input[type="radio"]:checked+label:before{width:22px;height:22px;border:1px solid #0d0504;position:relative;display:inline-block;content:"";border-radius:100%}.tve_lg_radio_wrapper input[type="radio"]:checked+label:after{background-color:#fff}.tve_lg_radio_wrapper input[type="radio"].tve-lg-error+label:before{background-color:#dda8a7;border:1px solid #a94442;box-shadow:inset 0px 2px 2px 0px #111}.thrv_lead_generation.tve_black input[type="radio"]:checked+label:after{background-color:#181818}.thrv_lead_generation.tve_blue input[type="radio"]:checked+label:after{background-color:#305584}.thrv_lead_generation.tve_green input[type="radio"]:checked+label:after{background-color:#7c9735}.thrv_lead_generation.tve_orange input[type="radio"]:checked+label:after{background-color:#d2a000}.thrv_lead_generation.tve_purple input[type="radio"]:checked+label:after{background-color:#694398}.thrv_lead_generation.tve_red input[type="radio"]:checked+label:after{background-color:#b74c39}.thrv_lead_generation.tve_teal input[type="radio"]:checked+label:after{background-color:#306d62}.thrv_lead_generation.tve_white input[type="radio"]:checked+label:after{background-color:#fff}.tve_lg_checkbox_wrapper{position:relative;padding:5px 20px 5px 0 !important;display:inline-block;width:auto !important}.tve_lg_checkbox_wrapper input[type="checkbox"]:not(:checked),.tve_lg_checkbox_wrapper input[type="checkbox"]:checked{position:absolute;visibility:hidden}.tve_lg_checkbox_wrapper input[type="checkbox"]:not(:checked)+label,.tve_lg_checkbox_wrapper input[type="checkbox"]:checked+label{position:relative;padding-left:35px;cursor:pointer;font-size:22px !important;color:#fff;font-family:'Roboto';font-weight:300}.tve_lg_checkbox_wrapper input[type="checkbox"]:not(:checked)+label:before,.tve_lg_checkbox_wrapper input[type="checkbox"]:checked+label:before{content:'';position:absolute;left:0;top:2px;width:22px;height:22px;background-color:#202020;border-top:1px solid #040404}.tve_lg_checkbox_wrapper input[type="checkbox"]:not(:checked)+label:after,.tve_lg_checkbox_wrapper input[type="checkbox"]:checked+label:after{content:"\e601";font-family:'rockstar_autoresponder';position:absolute;top:6px;left:4px;font-size:15px;color:#fff;transition:all .2s}.tve_lg_checkbox_wrapper input[type="checkbox"]:not(:checked)+label:after{opacity:0;transform:scale(0)}.tve_lg_checkbox_wrapper input[type="checkbox"]:checked+label:after{opacity:1;transform:scale(1)}.tve_lg_checkbox_wrapper input[type="checkbox"].tve-lg-error+label:before{background-color:#dda8a7;border:1px solid #a94442;box-shadow:inset 0px 2px 2px 0px #111}.thrv_lead_generation.tve_black input[type="checkbox"]:not(:checked)+label:after,.thrv_lead_generation.tve_black input[type="checkbox"]:checked+label:after{color:#181818}.thrv_lead_generation.tve_blue input[type="checkbox"]:not(:checked)+label:after,.thrv_lead_generation.tve_blue input[type="checkbox"]:checked+label:after{color:#305584}.thrv_lead_generation.tve_green input[type="checkbox"]:not(:checked)+label:after,.thrv_lead_generation.tve_green input[type="checkbox"]:checked+label:after{color:#7c9735}.thrv_lead_generation.tve_orange input[type="checkbox"]:not(:checked)+label:after,.thrv_lead_generation.tve_orange input[type="checkbox"]:checked+label:after{color:#d2a000}.thrv_lead_generation.tve_purple input[type="checkbox"]:not(:checked)+label:after,.thrv_lead_generation.tve_purple input[type="checkbox"]:checked+label:after{color:#694398}.thrv_lead_generation.tve_red input[type="checkbox"]:not(:checked)+label:after,.thrv_lead_generation.tve_red input[type="checkbox"]:checked+label:after{color:#b74c39}.thrv_lead_generation.tve_teal input[type="checkbox"]:not(:checked)+label:after,.thrv_lead_generation.tve_teal input[type="checkbox"]:checked+label:after{color:#306d62}.thrv_lead_generation.tve_white input[type="checkbox"]:not(:checked)+label:after,.thrv_lead_generation.tve_white input[type="checkbox"]:checked+label:after{color:#fff}.tve_lg_textarea textarea{min-height:80px !important;background-color:#202020;border:1px solid #040404 !important;font-family:'Roboto';font-weight:300;font-size:16px;border-radius:5px !important}body{min-height:100%;overflow-x:hidden}body.tve_lp{background-color:#000;background-image:url("./images/lead_generation_image.jpg");background-size:cover;background-repeat:no-repeat}.tve_wrap_all{margin-top:10%}.tve_wrap_all h1,.tve_wrap_all h2,.tve_wrap_all h3,.tve_wrap_all h4,.tve_wrap_all h5,.tve_wrap_all h6,.tve_wrap_all p,.tve_wrap_all blockquote,.tve_wrap_all a,.tve_wrap_all address,.tve_wrap_all pre,.tve_wrap_all blockquote,.tve_wrap_all ul,.tve_wrap_all li{font-family:'Roboto';font-weight:300}.tve_wrap_all span{font-family:inherit}.tve_wrap_all .out{margin-left:0;margin-right:0}.tve_wrap_all .tve_lp_content{max-width:650px;margin:0 auto;padding:10px}.tve_wrap_all a,.tve_wrap_all a:hover{color:inherit}.tve_wrap_all .bold_text{font-weight:900}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text'],.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"]{font-family:'Roboto';border-width:1px;border-color:rgba(0,0,0,0.7);background-color:rgba(0,0,0,0.35);border-radius:3px;box-shadow:0 2px 0 0 rgba(255,255,255,0.19);font-size:26px;font-style:normal;color:#fff;height:auto;font-weight:300;margin-bottom:30px;padding:10px}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text'].placeholder,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"].placeholder{color:#ffffff}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text']:-moz-placeholder,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"]:-moz-placeholder{color:#ffffff}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text']::-moz-placeholder,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"]::-moz-placeholder{color:#ffffff}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text']:-ms-input-placeholder,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"]:-ms-input-placeholder{color:#ffffff}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text']::-webkit-input-placeholder,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"]::-webkit-input-placeholder{color:#ffffff}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text']:focus,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text']:active,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type='text']:hover,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"]:focus,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"]:active,.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation input[type="email"]:hover{outline-color:rgba(0,0,0,0.7);outline-width:0;background-color:rgba(0,0,0,0.5);border-width:1px;border-color:rgba(0,0,0,0.7)}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation .tve_submit_container button{text-shadow:0 2px 4px rgba(0,0,0,0.42);box-shadow:0 1px 2px 0 #fff inset,0 2px 2px 0 rgba(0,0,0,0.34);background-image:none;font-family:'Roboto';font-weight:900;font-size:26px;padding:10px}.tve_wrap_all .tve_lp_lead_generation_image .thrv_lead_generation .tve_submit_container button:active{box-shadow:0 2px 2px 0 rgba(0,0,0,0.34)}.tve_lp_lead_generation_image .thrv_lead_generation.tve_black .tve_submit_container button{border:1px solid #151515;background-color:#3d3c3c}.tve_lp_lead_generation_image .thrv_lead_generation.tve_black .tve_submit_container button:hover{background-color:#3d3d3d}.tve_lp_lead_generation_image .thrv_lead_generation.tve_black .tve_submit_container button:active{background-color:"black"}.tve_lp_lead_generation_image .thrv_lead_generation.tve_blue .tve_submit_container button{border:1px solid #285f7e;background-color:#46a0d3}.tve_lp_lead_generation_image .thrv_lead_generation.tve_blue .tve_submit_container button:hover{background-color:#73bfeb}.tve_lp_lead_generation_image .thrv_lead_generation.tve_blue .tve_submit_container button:active{background-color:"blue"}.tve_lp_lead_generation_image .thrv_lead_generation.tve_green .tve_submit_container button{border:1px solid #127a20;background-color:#40c551}.tve_lp_lead_generation_image .thrv_lead_generation.tve_green .tve_submit_container button:hover{background-color:#20e73a}.tve_lp_lead_generation_image .thrv_lead_generation.tve_green .tve_submit_container button:active{background-color:"green"}.tve_lp_lead_generation_image .thrv_lead_generation.tve_orange .tve_submit_container button{border:1px solid #c09300;background-color:#fad232}.tve_lp_lead_generation_image .thrv_lead_generation.tve_orange .tve_submit_container button:hover{background-color:#fc0}.tve_lp_lead_generation_image .thrv_lead_generation.tve_orange .tve_submit_container button:active{background-color:"orange"}.tve_lp_lead_generation_image .thrv_lead_generation.tve_purple .tve_submit_container button{border:1px solid #451c79;background-color:#b274ff}.tve_lp_lead_generation_image .thrv_lead_generation.tve_purple .tve_submit_container button:hover{background-color:#934de9}.tve_lp_lead_generation_image .thrv_lead_generation.tve_purple .tve_submit_container button:active{background-color:"purple"}.tve_lp_lead_generation_image .thrv_lead_generation.tve_red .tve_submit_container button{border:1px solid #f10;background-color:#ee3528}.tve_lp_lead_generation_image .thrv_lead_generation.tve_red .tve_submit_container button:hover{background-color:#e03f34}.tve_lp_lead_generation_image .thrv_lead_generation.tve_red .tve_submit_container button:active{background-color:"red"}.tve_lp_lead_generation_image .thrv_lead_generation.tve_teal .tve_submit_container button{border:1px solid #0e7361;background-color:#45e4c8}.tve_lp_lead_generation_image .thrv_lead_generation.tve_teal .tve_submit_container button:hover{background-color:#58b9a8}.tve_lp_lead_generation_image .thrv_lead_generation.tve_teal .tve_submit_container button:active{background-color:"teal"}.tve_lp_lead_generation_image .thrv_lead_generation.tve_white .tve_submit_container button{border:1px solid #6f6f6f;background-color:#e0dede}.tve_lp_lead_generation_image .thrv_lead_generation.tve_white .tve_submit_container button:hover{background-color:#e2e1e1}.tve_lp_lead_generation_image .thrv_lead_generation.tve_white .tve_submit_container button:active{background-color:"white"}
Error 404 (Not Found)!!1 404. That’s an error.
The requested URL was not found on this server. That’s all we know.
Located in the middle of the turquoise Indian Ocean, inhabited by a multi-racial, peaceful people, covered in great golf courses, offering myriad water sports, mountain trekking, hunting, birdwatching, luxurious resorts, an old colonial capital, great food, three- and four-star hotels, one of the world’s best botanical gardens, good
nightlife, beautiful beach bars, UNESCO World Heritage Sites, one of the oldest horseracing tracks in the world, great sightseeing. Surrounded by perfect white sand beaches, themselves surrounded by the stunning blue Indian Ocean, and the center of the island contains mountains and breathtaking scenery, plus almost year-round sunshine
Hotel
Charges(USD) & Inclusions
1.Casuarina hotel 3*
USD 1906 half board
2.Friday Attitude 3*
USD 2036 all inclusive
3.Anelia Resort 4*
USD 1938 half board
4.Ravenala Altitude 4*
USD 2040 half board
5.Ziwa Altitude 4*
USD 2053 half board
6.Sugar Beach Resort 5*
USD 2417 half board
7.Le Meridien Marriott Resort 5*
USD 2358 half board
8.Long Beach Resort 5*
USD 2250 half board
9.Maradiva Villas Resort 5*
USD 3106 half board
Valid till 31/3/23
Package includes:
Return flight tickets
4 nights’ accommodation on meal plan specified
Meet and welcome in the arrival hall in the airport
Return airport transfers on sharing basis
The south and its charms tour
The North tour
Blue lagoon catamaran cruise
Excludes:
Drinks
Travel Insurance
Anything else not mentioned above